0

我有我的课,例如 TEST.h 中的 TEST 我有

朋友 ostream& operator<< (ostream& out, const test& outstr);

在 TEST.cc 中

ostream& 运算符 <<(ostream& out, test& strout) { out<< "TEST"; 退出;}

在主测试 x 中;cout<<x;

我收到错误消息:错误:未定义对 `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 回答