Я отредактировал свое сообщение с этим вопросом, но не получил ответов.
Я перегружен << для класса, <code>Score (определено в Score.h), в Score.cpp.
ostream& operator<< (ostream & os, const Score & right)
{
os << right.getPoints() << " " << right.scoreGetName();
return os;
}
(getPoints
извлекает атрибут int
, getName
a string
один)
Я получаю эту ошибку компиляции для теста в main (), содержащегося в main.cpp
binary '<<' : no operator found which takes a right-hand operand of type 'Score' (or there is no acceptable conversion)
Почему компилятор не «распознает» эту перегрузку как допустимую? (включает в себя)
Спасибо за ваше время.
EDIT:
По запросу код, вызывающий ошибку:
cout << ":::::\n" << jogador.getScore() << endl;
jogador
- это объект Player
, который содержит Score
объект. getScore
возвращает этот атрибут.