错误:左值需要作为赋值的左操作数

Error: lvalue required as a left operand of assignment

本文关键字:赋值 操作数 错误      更新时间:2023-10-16

对于我的第一个程序,我正在尝试制作一个计算器,但是我收到一个错误:

错误:左键需要作为赋值的左操作数

这是代码:

http://pastebin.com/mxdnPGeT

错误是我说 x + y = 总和;

赋值运算符=的工作原理是将运算符右侧的任何内容分配给左侧的对象。因此,您正在尝试将未初始化的 sum 的值分配给您无法分配的 x + y 生成的值。看起来你真的很想做:

sum = x + y;

这不像在数学中,=运算符只是意味着两个操作数相等。在C++(以及许多编程语言)中,=是赋值。它从右向左分配。某些语言为运算符使用不同的字符正是为了避免这种混淆(如:=<-)。

x + y = sum;

这是无效的,x+y不是左值:您无法分配给x+y,因为它没有存储地址。

您应该反转赋值表达式中操作数的顺序:

sum = x + y;

您有以下各项:

x + y = sum;

您需要的是:

sum = x + y;