开发者

Overloading ostream

I have my class for example TEST in TEST.h I have

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

in TEST.cc

ostream& operator <<(ostream& out, test& strout) { out<< "TEST"; return out; }

in main test x; cou开发者_运维技巧t<< x;

I recieve error message: error: undefined reference to `operator<<(std::basic_ostream >&, test const&)

whats the problem?


You have const in the declaration:

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

and no const in the implementation:

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

Adding const to the implementation should solve your issue.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜