Я пытаюсь перегрузить operator<< как функцию-член. Он работает, если просто сделать это:
friend ostream& operator<<(ostream& os, const MyClass& myClass); в моем файле заголовка и в файле MyClass.cc:
ostream& operator<<(ostream& os, const MyClass& myClass)
{
return myClass.print(os);
}
Однако, если я попытаюсь отключить friend и сделать его функцией-членом, то он жалуется, что operator<< может принимать только один аргумент. Почему?
ostream& MyClass::operator<<(ostream& os, const MyClass& myClass)
{
return myClass.print(os);
}
Я прочитал в этот вопрос, что он не может быть функцией-членом, но не уверен, почему?