"expression must be a modifiable lvalue"是什么意思?
What does "expression must be a modifiable lvalue" mean?
int x;
(rand() % 100) + 1 = x;
它一直在说:
表达式应为可修改的左值
=
的左操作数和右操作数不可互换。
它是要分配给的左操作数,因此它必须是可分配的。
给定int x;
,x
是可赋值的("可修改的左值"(,但x + 42
不是(右值(。
这意味着你在赋值运算符(=
(的每一侧都放了错误的东西。左边的表达式应该是你可以赋值的东西("lvalue"中的"l"代表"左"(,右边的表达式应该计算你要赋值的值。
尝试
x = (rand() % 100) + 1;
相反。
左值必须始终是可更改/可修改的值。 所以你不能做:
int a ;
3 = a ;
这意味着您正在尝试将3
更改为a
这是不可能的,因为3
是一个常量。
所以同样, 这样做:
x = (rand() % 100) + 1;
而且,错误应该消失了。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思