Class.hエラー:なし一致 '演算子は、<<'
std::ostream& operator<<(std::ostream &strm);
Class.cpp
std::ostream& operator<<(std::ostream &strm, Classname &a) {
return strm << a.getAge();
}
メイン()
を(まだオペレータは<<クラス内で定義されます)Classname one(5) //this sets the age to 5;
std::cout << one;
これは私のコードです。私はこのエラーを探知して、解決策は、常にstd :: ostreamを実装することでした&オペレータ< <私はそれをやったし、それは動作しません。
Classname.h実装内に(Classname)を持つことができない理由もわかりません(Classname.c実装には1つの引数しかないというエラーが表示されます)。それ以外の場合はエラーが発生します。
問題の原因を特定するのに十分なコードがありません。あなたは[mcve]が必要です。起こっていることを推測することはできますが、それはちょうど推測です。 – Justin
最初の2つのコードブロックを見てください。関数のシグネチャは同じですか? – NathanOliver
@Justin MVCEはもっと良いでしょうが、この場合は十分に答えていると思います。ネイサンのコメントを参照してください。 – Borgleader