0

たとえば、TEST in TEST.hのクラスがあります

フレンド ostream& operator<< (ostream& out, const test& outstr);

TEST.ccで

ostream& operator <<(ostream& out, test& strout) { out<< "TEST"; 戻ります。}

メインテスト x; cout<< x;

次のエラー メッセージが表示されます: error: undefined reference to `operator<<(std::basic_ostream >&, test const&)

どうしたの?

4

1 に答える 1

2

宣言に const があります。

フレンド ostream& operator<< (ostream& out, const test& outstr);

実装に const はありません:

ostream& operator <<(ostream& out, MISSING CONST test& strout)

const を実装に追加すると、問題が解決するはずです。

于 2011-02-11T15:55:03.107 に答える