Но operator<<
не является членом - это бесплатная функция. Так что нет базового объекта, который он не изменяет.
int myFunc() const {
return 3;
}
Также получает сообщение от компилятора:
error: non-member function 'int myFunc()' cannot have cv-qualifier
Ваша версия operator<<
также довольно странная, поскольку она ничего не выводит в поток, который должен, предпочитая вместо этого выводить вещи в std::cout
!
Я думаю, вам следует пересмотреть то, чего вы надеетесь достичь, поскольку вы пытаетесь сделать что-то нестандартное. Если вам просто нужен метод, который записывает содержимое вашего класса в std :: cout, просто сделайте это, а не перегружайте оператор.
Обратите внимание, что если у вас есть какой-то другой iostream, вы будете удивлены что ничто не идет в это!
std::ofstream myFile("my_path");
myFile << Player;