需求
今天修改了几行程序后,编译不通过,报错为 crosses initialization of
.
解决
经过搜索和尝试,发现是 goto
语句引起的,但是也不单纯是 goto
引起的。主要是同时达到了下面两个条件。
- 变量定义并没有都放在函数的开始。
- 使用
goto
的语句下面,还有新定义的变量。
所以,编译器担心 goto
跳过这些新定义的变量可能导致程序执行的结果有问题,就报错了。解决也很简单,把使用 goto
语句下面新定义的变量移动到上面就可以了。
今天修改了几行程序后,编译不通过,报错为 crosses initialization of
.
经过搜索和尝试,发现是 goto
语句引起的,但是也不单纯是 goto
引起的。主要是同时达到了下面两个条件。
goto
的语句下面,还有新定义的变量。所以,编译器担心 goto
跳过这些新定义的变量可能导致程序执行的结果有问题,就报错了。解决也很简单,把使用 goto
语句下面新定义的变量移动到上面就可以了。