在switch中声明变量?

时间:2011-01-16 13:09:25

标签: c++ switch-statement

  

可能重复:
  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

1 个答案:

答案 0 :(得分:0)

Dunno错误,但这对我来说也适用于Objective-C(C的严格超集,虽然我不相信 1 )而且我这样做总是,即使我只是回复了一些东西:

switch (i) {

  case 'i': { // <- curly brackets
    int i = 0; break;
  } // <- curly brackets

}

(1因为变量可以在C中命名为id但在Objective-C中不能命名