我收到第一个其他expected primary-expression before "else"
错误,我不明白为什么。我三重检查了所有的支撑。
if(Owin = win)
{
cout << "The computer has defeated you!nn";
cout << "Would you like to play again? (Y or N) : ";
cin >> restart;
if(restart == 'Y' || restart == 'y');
{
cout << "nnn";
main() ;
}
else
{
cout << "Good Bye!nn";
system("pause");
return(0);
}
}
else
{
}
if(restart == 'Y' || restart == 'y');
删除此处的分号以修复错误。此;
结束您的 if
语句,这意味着else
实际上不是任何if
语句的一部分,因此存在错误。
在你的代码中,
if(restart == 'Y' || restart == 'y');
尾随分号是一个空语句,它构成if
块的主体(从而结束)。在这一点上,你可能已经有一个else
.但不是在随后的声明之后,这不是if
.
此外,更重要的是,在您的代码中,调用
main() ;
假设它调用全局命名空间中的main
,则无效。 main
(在全局命名空间中)是一个特殊函数。它的特殊属性之一是它不能被调用。
编译器可能允许它而不进行任何诊断,但正式地,您就有了未定义的行为,任何事情都可能发生。
相反,请使用循环来实现重复。
if
语句后有一个尾随分号。