#include<stdio.h>
int main(void)
{
double delta=-1;
if(delta>0)
printf("有两个解!\n");
printf("哈哈!\n"); // error C2181: illegal else without matching if
else if(delta==0)
printf("有一个唯一解!\n");
else
printf("无解!\n");
}
因为这个if else嵌套的语句被看做是一条语句,如果添加上printf("哈哈!\n");语句就会使if....else嵌套的语句分解,由原先的两条语句变为4条语句。
所以出现的错误是error C2181: illegal else without matching if
“无效的else没有与它匹配的if语句”
本文详细解析了一段C++代码中出现的错误:errorC2181: illegal else without matching if。通过分析代码,解释了错误原因在于if...else嵌套语句被误认为一条语句,导致合法的else语句缺少匹配的if语句。提供了解决方案并强调了C++中if...else语句使用时的注意事项。
1192

被折叠的 条评论
为什么被折叠?



