您的位置:首页 > 其它

switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题

2017-04-20 13:13 405 查看


switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题

例如在如下代码中

1
case
0:
2
  
int
index
= 1;
3
  
int
j = 2;
4
  
self
.sum = i + j;
5
  
break
;
GCC在case语句之后的第一行中声明变量时遇到问题。

这时需要在case块两端添加花括号,GCC就变乖了。

即:

1
case
0:{
2
  
int
index= 1;
3
  
int
j = 2;
4
  
self
.sum = i + j;
5
  
break
;
6
结论:
switch语句中不能声明变量,并不是赋值问题。
其它的语句块没这个限制,switch语句中用的变量必须在块外声明,或者在case:{}花括号里面声明变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐