ストリーム演算子のオーバーロードに問題があり<<
、解決策が見つかりません:
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&)' は 1 つの引数を取る必要があります
その問題を解決するには?
どうもありがとうございました。