C ++ перегруженный оператор вывода с шаблоном - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь перегрузить оператор вывода для печати из класса с шаблоном, который использует нетиповые значения.Тем не менее, я получаю сообщение об ошибке

"идентификатор неожиданного токена", ожидаемый ";" "

в теле функции оператора.Как мне исправить либо объявление друга, либо определение перегрузки оператора, чтобы избежать этой ошибки?

template <int N, int M> class Screen {
    friend std::ostream& operator<< (std::ostream&, const Screen&);
public:
    Screen(): width(N), height(M) {}
    int width = 0;
    int height = 0;
};

template <int N, int M>
std::ostream& operator<< (std::ostream& os, const Screen<N, M>& a)
{
    os << a.width << ":" a.height;
    return os;
}

1 Ответ

0 голосов
/ 06 октября 2018

Вы забыли <<

// ..................VV
os << a.width << ":" << a.height;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...