在开关中声明变量?

可能重复:
为什么不能在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中)

链接地址: http://www.djcxy.com/p/14789.html

上一篇: declare variable in switch?

下一篇: Why I can't initialize a variable in switch case block