【发布时间】:2015-04-24 01:11:29
【问题描述】:
我正在使用 Visual Studio 并收到错误 C2360:在编译以下代码(简化)时,“p”的初始化被“case”标签跳过:
case 1:
static char*p[] =
{
"000000000",
"111111111",
"222222222",
"333333333",
"444444444",
};
...
break;
case 2: // error C2360
....
据我所知,STATIC 局部变量与全局变量完全相同,只是它只对声明它的函数可见。这意味着它的初始化在 main 函数还没有开始执行时就已经完成了。因此,在我看来,'p'的初始化是不可能跳过的。
我说的对吗?为什么我会收到那个编译错误?
【问题讨论】:
标签: c static initialization