gpt4 book ai didi

c++ - 为什么我在 for 循环中收到 'Else without previous if' 错误?

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:35 24 4
gpt4 key购买 nike

我是 C++ 的新手,盯着我的(可能很糟糕的)代码有一段时间了,无法弄清楚它有什么问题。

我正在尝试遍历 if 和 else 语句的几次迭代,并且一定是在做一些语法错误的事情——因为它显示了“else without a previous if”的编译器错误

这是一个类,我正在努力解决这个问题,但如果你看到我忽略的一些明显的东西,我很想知道。

谢谢!

for (i = 0; i < iterationsNum; i++){
if (charlieAlive == 0) // Aarron's shot
{
if (aaronShot() == 1)
charlieAlive = 1;
}
else (charlieAlive == 1 && bobAlive == 0);{
if (aaronShot() == 1)
bobAlive = 1;
}
else (charlieAlive == 1 && bobAlive == 1 && aaronAlive == 0);{
cout << "Aaron is the Winner!\n";
totalShot++;
aaronCounter++;
}
continue;



if (charlieAlive == 0 && aaronAlive ==0) // Bob's shot
{
if (bobShot() == 1)
charlieAlive = 1;
}
else (charlieAlive == 1 && aaronAlive == 0);{
if (bobShot() == 1)
aaronAlive = 1;
}
else (charlieAlive == 1 && aaronAlive == 1 && bobAlive == 0);{
cout << "Bob is the Winner!\n";
bobCounter++;
totalShot++;
}
continue;


if (charlieAlive == 0 && bobAlive == 0) // Charlie's shot
{
bobAlive = 1;
}
else (charlieAlive == 0 && bobAlive == 1 && aaronAlive == 0);{
aaronAlive = 1;
totalShot++;
}
else (charlieAlive == 0 && bobAlive == 1 && aaronAlive == 1);{
cout << "Charlie is the Winner!\n";
}
continue;

最佳答案

else 不接受任何条件,但你已经这样写了:

else (charlieAlive == 1 && bobAlive == 0);  //else : (notice semicolon)

它没有按照您的预期去做。

您想这样做:

else if (charlieAlive == 1 && bobAlive == 0)  //else if : (semicolon removed)

注意区别。

此外,最多可以有一个 else block ,与 if block 相关联 或者一串 if, else-if, else-if block 。也就是说,你可以这样写:

if (condition) {}
else {}

或者,

if (condition0) {}
else if (condition1) {}
else if (condition2) {}
else if (condition3) {}
else if (condition4) {}
else {}

在任何情况下,else block 总是 最后一个 block 。之后,如果您编写另一个 else block ,那将是一个错误。

除此之外,您还在错误的位置使用了分号。还解决了这个问题:

else (charlieAlive == 1 && bobAlive == 0); <---- remove this semicolon!

希望对您有所帮助。


选择一本好的 C++ 入门书籍。以下是针对所有级别的一些建议。

关于c++ - 为什么我在 for 循环中收到 'Else without previous if' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14995454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com