我正在将XCode 4.0.2用于iOS4项目。
我有一个标准的“Switch”声明
switch (i) {
case 0:
int a = 0;
break
...
}
这在int a = 0;。
上给出了一个错误“Expected expression”如果我在类型声明之前使用像这样的简单语句,那么“Switch”工作正常是很奇怪的
switch (i) {
case 0:
b = 0;
int a = 0;
break
...
}
在这种情况下,编译器不会给出错误(只有“未使用的变量a”警告)。
怎么可能?
谢谢。
答案 0 :(得分:6)
尝试类似
的内容switch (i) {
case 0:
{
int a = 0;
}
break
...
}
答案 1 :(得分:1)
将case语句括在大括号中:
switch (i) {
case 0: {
int a = 0;
break;
}
...
}
答案 2 :(得分:1)
您需要使用{ }
打开一个新范围才能声明新变量:
switch (i) {
case 0: {
int a = 0;
break;
}
}
答案 3 :(得分:0)
您可以声明像
这样的变量switch (i) {
case 0:
{ //User brackets
int a = 0;
}
break
...
}