分配C 的左操作数所需的LVALUE

lvalue required as left operand of assignment C++

本文关键字:LVALUE 分配 操作数      更新时间:2023-10-16
#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分配一个值;这没什么意义!您只能单独更改gt。如果要设置z的值,则必须将z放在左侧。

z = g+t;

更好的是,将z的值设置为初始化:

int z = g+t;