所以我试图重载<<运营商。从我可以看到的所有来源,语法是正确的,但eclipse不喜欢它。
我遇到了一些错误: 多项式:: PrivateStruct *多项式:: head是私有的
和: struct Polynomial :: PrivateStruct是私有的。
我希望将此结构保密,以隐藏实现细节。
std::ostream& operator<<(std::ostream& outputStream, Polynomial& rhs)
{
Polynomial::PrivateStruct *p = rhs.head;
//implementation details
return outputStream;
}
和声明:
friend std::ostream& operator<<(std::ostream& outputStream, const Polynomial& rhs);
答案 0 :(得分:6)
声明和定义不匹配 - 一个引用const
,另一个引用非const。匹配他们,你很高兴。