例:switch(x)
{
    case 1:
       int a = 0;
    case 2:
       int a = 0;
}
这样子编译会出错,报变量名重复。如果用if(true){} 括起来就没问题了.但请问是否有标准的用法能够避免重复?

解决方案 »

  1.   

    switch(x) 

        case 1: 
          {int a = 0; break;}
        case 2: 
          {int a = 0; break;}
      

  2.   

    或者你将int a声明的地方提到外面去
      

  3.   


    int a = 0;
    switch(x) 

        case 1: 
          a = 0; 
        case 2: 
          a = 0; 

      

  4.   


    int a = -1;
    switch(x) 

        case 1: 
          a = 1; 
          break;
        case 2: 
          a = 2; 
          break;
        default:
          a = 0;
          break;
    } 事先定义这个变量。后面只是使用。