错误"else"之前的预期主表达式
Expected primary-expression before "else" error
我收到第一个其他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
语句后有一个尾随分号。
相关文章:
- (C++)分析树以计算返回错误值的简单算术表达式
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 提升精神:解析布尔表达式并简化为规范范式
- 我的简单if-else语句是如何无法访问的代码
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 使用正则表达式regex_search在字符串中查找字符串
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 概念中的cv限定符需要表达式参数列表
- 为什么constexpr的性能比正常表达式差
- 对于结构,表达式必须是可修改的ivalue
- 如何删除peer if else分支中的冗长句子
- 我似乎对if/else的基本语句有问题:/
- 当一个值是非常量但用常量表达式初始化时使用constexpr
- 为什么我不能在我的三元表达式中使用 return,但我可以在常规的 if-else 语句中使用?
- IF-ELSE语句的Lambda表达式的返回类型扣除
- 错误"else"之前的预期主表达式
- 在令牌和'else'之前'%'预期的主表达式,没有以前的'if'
- "else" DevC++ 之前的预期主表达式
- 这个三元表达式的等价if else语句是什么?