我有这样的下面的代码:表达必须修改的左值
int M = 3;
int C = 5;
int match = 3;
for (int k =0; k < C; k ++)
{
match --;
if (match == 0 && k = M)
{
std::cout << " equals" << std::endl;
}
}
但它给出了一个错误说:
Error: expression must be a modifiable value
上说:“如果”行。我不想在这里修改“匹配”或“K”值,但为什么会出现这个错误?如果我只写如下:
if (match == 0)
没关系。有人可以向我解释吗?
您的意思是'k == M'? –
'K == M' not'K = M' – Shashwat
很幸运,由于'&&'和'='的运算符优先级而导致编译器错误,而不是静默地产生错误的程序! – Rufflewind