所以我试图重载 << 运算符。从我能看到的所有来源来看,语法是正确的,但 eclipse 不喜欢它。
我遇到了几个错误: Polynomial::PrivateStruct* Polynomial::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);