为什么不能在开关语句中声明变量?
我一直在想,为什么不能在开关语句中的CASE标签之后声明变量呢?在C+中,您可以在任何地方声明变量(并且声明它们接近第一次使用显然是件好事),但是下面的内容仍然不能工作:
switch (val) { case VAL: // This won't work int newVal = 42; break;case ANOTHER_VAL: ... break;}
以上给出了以下错误(MSC):
“newVal”的初始化由“case”标签跳过
在其他语言中,这似乎也是一个限制。为何会出现这样的问题呢?
呼啦一阵风
30秒到达战场
Qyouu
相关分类