首先,我将重载的功能类似符号声明为此question,并在其中存在相同的错误。我按照答案的建议进行了更改,但仍然收到以下错误消息:
[错误]'std :: ostream&Number :: operator <<(std :: ostream&,const Number&)'必须仅包含一个参数
[5]
答案 0 :(得分:0)
您有两种不同的声明-第一个声明一个全局重载运算符,第二个声明(并定义)一个属于Number
类的成员的运算符(请注意Number::
?)。第一个是可以的(如果这就是您的意图-将其定义为独立运营商),第二个显然不是。正如您所链接的答案所解释的,以及错误所指出的那样-成员运算符需要采用一个参数(除了隐式this
参数之外)。