编译 C 程序时我们什么时候会收到"需要左值"错误???(我正在使用 VC )

答案

“左值"是可以作为赋值目标的值。

例如,常量是右值,但不是左值。

1 = 2;  // Not well formed, assigning to an rvalue
int i; (i + 1) = 2;  // Not well formed, assigning to an rvalue.

不起作用,但是:

int i;
i = 2;

做。

正如 Pavel Minaev 在评论中指出的那样,这不是语言中左值和右值的正式定义,而是试图向那些对需要左值时使用右值的错误感到困惑的人提供描述。

来自: stackoverflow.com