为什么添加"const"可以解决"invalid operands to binary expression"
Why does adding "const" solve "invalid operands to binary expression"
我已经用Integer operator+(Integer & a, Integer & b)
重载了运算符+。但当我执行a=b+c+d时,它会将无效操作数的错误提供给二进制表达式。但通过将const
添加到参数中,就不会出现更多错误。为什么会发生这种情况?
b + c + d
为b + c
的结果生成一个临时值。然后将对该临时的引用传递给对operator+
的第二调用()。
只有const
引用可以绑定到临时库。
有关进一步的讨论,请参阅为什么非常量引用不能绑定到临时对象?
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- C++ Singleton - Prevent ::instance() to variable
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- Python str to C++ to Python str
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- 如何修复类"Invalid operands to binary expression "类" to "类" "错误 (repl.it)
- 如何修复C++中的'Invalid operands to binary expression'错误
- 使用 std::sort 时"invalid operands to binary expression"
- 错误"invalid operands to binary expression"
- 来自字符串库组件内部的"error: invalid operands to binary expression"
- 如何修复"invalid operands to binary expression"错误?
- 为什么添加"const"可以解决"invalid operands to binary expression"
- "Invalid operands to binary expression (ostream and void)"是什么意思,如何解决?
- 使用Boost.Geometry时"invalid operands to binary expression"?