切换和初始化变量

时间:2012-08-30 03:12:38

标签: c++ c

  

可能重复:
  Why can't variables be declared in a switch statement?

我在C中看到,在跳转语句中可以跳过变量的初始化,如下例所示:

/* valid in C but not C++ */

int main()
{
    switch (1)
    {
    case 0:
        int foo = 0;
        break;
    case 1:
        ++foo;
    }

    return 0;
}

但是当我尝试用Comeau编译器编译它时会出现错误:

  

“ComeauTest.c”,第8行:错误:声明不能有标签             int foo = 0;             ^

     

“ComeauTest.c”,第5行:警告:转移控制旁路   初始化:               变量“foo”(在第8行声明)         开关(1)         ^

0 个答案:

没有答案