Tag: 切换语句

为什么不能在switch语句中声明variables?

我一直在想这个 – 为什么你不能在switch语句的case标签之后声明variables? 在C ++中,你可以在任何地方声明variables(并声明它们接近第一次使用显然是一件好事),但下面的代码仍然不起作用: switch (val) { case VAL: // This won't work int newVal = 42; break; case ANOTHER_VAL: … break; } 以上给我以下错误(MSC): 'newVal'的初始化由'case'标签跳过 这似乎也是其他语言的限制。 为什么会出现这样的问题?