可以在Switch语句中进行类型声明吗?

bos*_*rol 7 iphone switch-statement ios4

我正在使用XCode 4.0.2进行iOS4项目.

我有一个标准的"Switch"声明

switch (i) {
    case 0:
        int a = 0;
    break
    ...
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个关于int a = 0;的错误"Expected expression".

如果我在类型声明之前使用像这样的简单语句,那么"Switch"工作正常是很奇怪的

switch (i) {
    case 0:
        b = 0;
        int a = 0;
    break
    ...
}  
Run Code Online (Sandbox Code Playgroud)

在这种情况下,编译器不会给出错误(只有"未使用的变量a"警告).

怎么可能?

谢谢.

Mih*_*atu 6

尝试类似的东西

switch (i) {
    case 0:
    {
        int a = 0;
    }
    break
    ...
}
Run Code Online (Sandbox Code Playgroud)