东土一株木 2022-09-10 23:27 采纳率: 100%
浏览 22
已结题

c++运算符重载使用bug

img

img

img


这个重载里的代码明白咋回事,++放前面,放后面。编译器怎么理解翻译的就一头雾水。看哪个视频或者书籍会容易懂些呀。

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-09-11 05:05
    关注

    你这个字体真难看
    operator<<()函数第二个参数不能是左值引用,否则的话,后缀++返回的是右值(临时变量),而左值引用无法绑定右值。你可以把第二个参数修改为下面两种形式

    friend ostream& operator<<(ostream &, const MyInteger&); // 常量引用
    friend ostream& operator<<(ostream &, MyInteger); // 传值
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月10日