为什么a+b不能工作?int main (){
int a = 5,b = 2;
printf("%d",a+++++b);
return 0;}此代码提供以下错误:错误:作为增量操作数所需的lvalue但如果我把空间a++ +和++b然后它就可以正常工作了。int main (){
int a = 5,b = 2;
printf("%d",a++ + ++b);
return 0;}第一个例子中的错误意味着什么?
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
printf("%d",a+++++b);
(a++)++ + b
++
lvalue
lvalue
.
德玛西亚99
TA贡献1770条经验 获得超3个赞
A
A
+++++
a ++ ++ + b
operator++
struct bad_code { bad_code &operator++(int) { return *this; } int operator+(bad_code const &other) { return 1; }};int main() { bad_code a, b; int c = a+++++b; return 0;}
- 3 回答
- 0 关注
- 406 浏览
添加回答
举报
0/150
提交
取消