为什么添加"const"可以解决"invalid operands to binary expression"



我已经用Integer operator+(Integer & a, Integer & b)重载了运算符+。但当我执行a=b+c+d时,它会将无效操作数的错误提供给二进制表达式。但通过将const添加到参数中,就不会出现更多错误。为什么会发生这种情况?

b + c + db + c的结果生成一个临时值。然后将对该临时的引用传递给对operator+的第二调用()。

只有const引用可以绑定到临时库。

有关进一步的讨论,请参阅为什么非常量引用不能绑定到临时对象?

相关内容

最新更新