分配C 的左操作数所需的LVALUE
lvalue required as left operand of assignment C++
#include <iostream>
using namespace std;
int printR(int,int);
void foo(int);
int y=3;
int main()
{
foo(6);
int x=3;
printR(x,y);
}
void foo (int x)
{
cout << x+5 << endl;
cout << y;
}
int printR(int g, int t)
{
int z;
g+t = z;
cout << z;
}
非常简单的代码,但是Eclipse给我一个错误,说" G T = Z"的语句;给出一个错误,不应该只是将值3和3添加在一起吗?我已经宣布Z为INT。
一个分配表达式将右操作数的值复制到左操作数中。您不能为g+t
分配一个值;这没什么意义!您只能单独更改g
和t
。如果要设置z
的值,则必须将z
放在左侧。
z = g+t;
更好的是,将z
的值设置为初始化:
int z = g+t;
相关文章:
- 将数组的地址分配给变量并删除
- 对RValue对象调用的LValue ref限定成员函数
- vector.resize()中的分配错误
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- Win32编译器选项和内存分配
- 函数中堆分配的效果与缺少堆分配的情况
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 多个文件的内存分配错误"在抛出 'std :: bad_alloc' what (): std :: bad_alloc 的实例后终止调用" [C++]
- 获取字符串的长度并将其分配给数组
- 将地址分配给本地指针后,公共对象的变量将消失
- 递归模板化函数不能分配给具有常量限定类型"const tt &"的变量"state"
- 有没有一种方法可以使用placement new将堆叠对象分配给分配的内存
- 我在二维向量中是否正确分配了内存
- 分配C 数组的左操作数所需的LVALUE
- 我会遇到一个错误:作为左派分配的操作数所需的lvalue
- 将值分配给指针时:表达式必须是可修改的lvalue
- 分配C 的左操作数所需的LVALUE
- C 链接列表错误:lvalue作为分配的左操作数所需
- 可以在分配它的对象被销毁后访问返回的 LValue 引用
- 将一个数组中的引用分配给另一个数组 - "warning: target of assignment not really an lvalue"