C++ goto END和 END中间不能有变量定义

313 阅读1分钟

因为变量的定义不是执行语句,而是描述语句。告诉编译器,在这里需要使用一个变量。编译器会在进入函数前,将所有的局部变量都完成定义,但是如果在goto之后定义变量,就会导致定义的变量可能没有被使用。同理,switch的执行原理也等同于goto 所以也不能在switch内定义变量。