"lvalue required as left operand of assignment"我所有的 if/else 语句。我做错了什么?



我正在制作一个基本计算器,它使用if/else语句来选择要在公式中使用的符号。所有else/if语句都报告了一个错误:

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

#include <iostream>
using namespace std;
int main()
{
//declare variables
int num1;
int num2;
int sol;
bool sign;
//prompt for num1
cout << "Greetings! Please enter a number." << endl;
cin >> num1;
//prompt for num2
cout << "Great! Now, please enter the second number." << endl;
cin >> num2;
//prompt for sign
cout << "Almost there! Now, please enter the sign you wish to use in the equation." << endl;
cin >> sign;
//arguments
if (sign == '+')
{
num1 + num2 = sol;
}
else if (sign == '-')
{
num1 - num2 = sol;
}
else if (sign == '*')
{
num1 * num2 = sol;
}
else if (sign == '/')
{
num1 / num2 = sol;
}
else
{
cout << "Sorry, that is not a valid symbol." << endl;
return 0;
}
//print results
cout << "The solution is: " << sol << endl;
return 0;
}

您的作业被颠倒了。=不是可交换算子。

它们都应该是形式

sol = num1 op num2

您要做的是将sol的(未初始化的(值分配给计算结果中未命名的临时值。令人高兴的是,这是一个基本类型的硬错误。

最新更新