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

问题描述:

non-lvalue in assignment是什么意思?该怎么解决?讲的通俗一点,什么左值的不懂
1个回答 分类:数学 2014-09-20

问题解答:

我来补答
左值是赋值运算(“=”操作)中的概念,比如
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;//错误
总结起来就是,左值是可以对其进行赋值的对象
 
 
展开全文阅读
剩余:2000
上一页:bfds
下一页:知道的请解答