在开关中声明变量?
可能重复:
为什么不能在switch语句中声明变量?
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
不要错误,但这也适用于Objective-C(严格的C超集,尽管我不相信1),并且我总是这样做,即使我只是简单地返回一些东西:
switch (i) {
case 'i': { // <- curly brackets
int i = 0; break;
} // <- curly brackets
}
(1因为一个变量可以在C中命名为id
,但不在Objective-C中)