可能重复:
Why can't variables be declared in a switch statement?
switch (i){
case 'i': int i; break; } //it works
switch (i){
case 'i': int i;i=0; break; } //it also works
switch (i){
case 'i': int i=0; break; } //it ain't
答案 0 :(得分:0)
Dunno错误,但这对我来说也适用于Objective-C(C的严格超集,虽然我不相信 1 )而且我这样做总是,即使我只是回复了一些东西:
switch (i) {
case 'i': { // <- curly brackets
int i = 0; break;
} // <- curly brackets
}
(1因为变量可以在C中命名为id
但在Objective-C中不能命名