我的交换机案例中出现了编译时错误,例如:“控制转移绕过初始化:”。我调查了这个solution,并明白我需要戴上大括号来修复bug。但我无法理解为什么这个bug首先出现。一般来说,我不会在开关盒中放置支架。
case 6:
int y = 0; // adding this line alone does not give any error
Mystack s1; // as soon as I create an instance of class
//I start getting squiggly under the switch
break;
P.S:将代码放入大括号后修复了错误。请让我知道为什么会这样?
重复标记:从我上面提到的链接中我了解到我们需要使用大括号来修复错误,但因为那里的答案有更多的高级级别,因为我不了解C ++标准我不能了解提到的解决方案。例如,我从来没有听说过类似POD对象或语句的内容,如 C ++标准的第6.6.4节或 C ++标准的第6.7节:我无法理解此行表示从具有自动存储持续时间的局部变量不在范围内的点跳转到其在范围内的点的程序是不正确的,除非该变量具有POD类型(3.9)并且未声明初始化程序。请解释此行的含义。