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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 23:51:51

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;//错误
总结起来就是,左值是可以对其进行赋值的对象