non-lvalue in assignment是什么意思?该怎么解决?讲的通俗一点,什么左值的不懂

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 03:09:51
non-lvalue in assignment是什么意思?该怎么解决?讲的通俗一点,什么左值的不懂
xSn@U *Av=e([!mx&C<%; $V]8̹w⩄z>=?7C5],Hw[Fjx߾@q'߽V'-Sx٥,a1LE=I$By5ݦtK:{Ut6ej_c#f:OIXU$w(\P{ F׌:=sdXϚܲX4@mlOZ]7u,ʨ]t`Ң2]E7]EEHԆ<@2v ./EzD함mn~ U< /):t(W\U j2.6Yon8&P*ƢPSo݄ Σ :֠' W4W8u/1V tS#}=3ˇw F޺  wk)ZB9ۼEEh i?I5^*

non-lvalue in assignment是什么意思?该怎么解决?讲的通俗一点,什么左值的不懂
non-lvalue in assignment是什么意思?该怎么解决?讲的通俗一点,什么左值的不懂

non-lvalue in assignment是什么意思?该怎么解决?讲的通俗一点,什么左值的不懂
左值是赋值运算(“=”操作)中的概念,比如
int a = 10;//a就是左值,需要a是一个变量
而你不能写成
10 = a;//错误,10是常量,不能做左值
同理,如果定义了常量类型,如
const int a = 10;
a = 20;//错误,a是常量,不能做左值
另外,表达式也不能作为左值出现,比如
int a = 10;
int b = 20;
a + b = 40;//错误,即使表达式里全部包含变量也不能作为左值,至于原因,你可以这样理解,就像分10元钱给张三和李四,如何分是不确定的.当然这只是个例子,你还可以有别的解释
a + 10 = 50;//错误
总结起来就是,左值是可以对其进行赋值的对象