оператор ostream << ошибка C ++ - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь найти способ исправить эту ошибку в течение нескольких часов, и, к сожалению, я не нашел ни одного заданного здесь вопроса, который нашел бы мне решение. Это круговой массив. Узел состоит из 3 членов: вводимые данные, вводимое описание и возраст узла - старость. вот мой код:

std::ostream &operator<<(std::ostream &os, Ringnode &node)
    {
        return os << "ringnode(age: " << node.oldage
                << ", description: " << node.des
                << ", data: " << node.symdata << ")";

}

des и symdata являются строковыми закрытыми членами в классе ringnode, но oldage является целым числом. Я получаю следующую ошибку: двоичный оператор ': не найден оператор, который принимает правый операнд типа' тип '(или нет приемлемого преобразования).

1 Ответ

0 голосов
/ 03 мая 2018

вы обычно делаете

это как friend и реализовано как:

std::ostream& operator<<(std::ostream &os, const Ringnode& node)
{
        os << "ringnode(age: " << node.oldage
                << ", description: " << node.des
                << ", data: " << node.symdata << ")";
      return os;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...