0

所以我试图重载 << 运算符。从我能看到的所有来源来看,语法是正确的,但 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);
4

1 回答 1

6

声明和定义不匹配 - 一个引用const,另一个引用非常量。匹配它们,你就可以开始了。

于 2013-11-01T21:22:35.797 回答