私はこの作業を取得しようとしていますが、それはエラーメッセージ基本的にC++のostream
C2473 " operator << looks like a function definition but there is no parameter list."
を思い付くをオーバーロードするためのテンプレートを持っているヘッダを作成するには、これはヘッダファイルであると私はしたいですクラスのネームスペースとテンプレートを宣言して、< <演算子をオーバーライドします。
助けてください! (また、私はStackOverflowのために新たなんだ、これが私の最初の質問です):)
#ifndef header
#define header
namespace nmsp{
template <class T>
class expt; //forward declaration of class, so friend function can be defined as a template
template <class T>
std::ostream& operator << (std::ostream& os, const expt <T> &input);
template <class T>
class expt {
friend std::ostream& operator << (std::ostream& os, const expt <T>& input);
private:
T *data;
public:
expt() { data = null; }
};
template <class T>
std::ostream& nmsp:: operator << (std::ostream& os, const expt <class T>& input) {
//....
}
}
}
#endif
は[MCVEを投稿してください]と次の逐語的なエラーメッセージ。 –