У меня проблема с перегрузкой оператора потока <<
, и я не нахожу решения:
template<class T, unsigned int TN>
class NVector
{
inline friend std::ostream& operator<< (
std::ostream &lhs, const NVector<T, TN> &rhs);
};
template<class T, unsigned int TN>
inline std::ostream& NVector<T, TN>::operator<<(
std::ostream &lhs, const NVector<T, TN> &rhs)
{
/* SOMETHING */
return lhs;
};
Выдает следующую ошибку сообщение:
предупреждение: объявление друга 'std::ostream& operator<<(std::ostream&, const NVector&)' объявляет функцию, не являющуюся шаблоном [-Wnon-template-friend]
ошибка: 'std:: ostream& NVector::operator<<(std::ostream&, const NVector&)' должен принимать только один аргумент
Как решить эту проблему?
Большое спасибо.