我一直想知道为什么不能在Switch语句中的case标签之后声明变量?C++你几乎可以在任何地方声明变量(并且在第一次使用时声明它们显然是一件好事),但以下方法仍然不起作用:
switch (val){case VAL:// This won't workint newVal = 42;break;case ANOTHER_VAL:...break;}
上面给出了以下错误(MSC):
'newVal'的初始化被'case'标签跳过
这在其他语言中似乎也是一个限制。为什么会有这样的问题?