switch 错误:a label can only be part of a statement and a declaration is not a statement

来源:互联网 发布:各地大数据项目 编辑:程序博客网 时间:2024/06/05 08:53
现象:
switch(a){case 1:............................................................break;case 2:break;}
在GCC下编译会出现如下错误:error: a label can only be part of a statement and a declaration is not a statement但加上如下括号后,就没有错误了,这是为什么?编译器的问题?switch(a){case 1:{............................................................}break;case 2:break;}

原因:
case1://此块代码不能再声明变量,如果你声明变量就会报错,除非用括号括起来,这是编译器的问题,也可以说是C语言的规定。写代码的时候注意就成了。就像C语言再声明的时候不能赋值一样,记住就好了。break;

0 0
原创粉丝点击