27 Jun 2012

c++ Tips: C2360:某变量初始化被case跳过的问题解决

c++中的大量if...else...可以用switch...case...来简化,也可以提高程序的运行效率,因为switch...case...其实在编译阶段会被转化为跳转表(LUT),会被分支语句高效.但是有时在case中定义的变量在编译阶段会报"error C2360: initialization of '###' is skipped by 'case' label,解决办法如下: 这是无意间找到的解决办法,将case下的所有语句放入一个block中,也就是用一对大括号{}将原有语句括起来,变成: { 原语句; }这种.其中break;不必放入,这个错误就没有了

No comments :

Post a Comment