switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题
switch语句中在case块里声明变量会遇到提示“Expected expression before..."的问题
例如在如下代码中
1 |
case constant: |
2 |
int i = 1; |
3 |
int j = 2; |
4 |
self .sum = i + j; |
5 |
break ; |
GCC在case语句之后的第一行中声明变量时遇到问题。
这时需要在case块两端添加花括号,GCC就变乖了。
即:
1 |
case constant:{ |
2 |
int i = 1; |
3 |
int j = 2; |
4 |
self .sum = i + j; |
5 |
break ; |
6 |
} |