我在重载<<
流运算符时遇到问题,但找不到解决方案:
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&)' 必须只采用一个参数
如何解决这个问题?
非常感谢你。