GOTO создает ошибку "обход инициализации"C++

Программы на C++. Форум разработчиков
Anonymous
GOTO создает ошибку "обход инициализации"

Сообщение Anonymous »

Я пытаюсь использовать этикетки в своем проекте, но когда я перепрыгиваю через набор инструкций, используя GOTO для передачи управления в другой раздел кода, я получаю эту ошибку, которая говорит: контроль передачи обход инициализации ( определенные переменные) .
Это код, который создает ошибку:
goto label1;

label00:
int a = 0;//the compiler can't let me skip this line
int b; // but this line is fine to skip over
b = 0; //because i initialize it here instead of doing it like the a variable

label1:
//other instructions
< /code>
Как видите, у меня есть инициализирована две переменные, но одна из них определяется, затем инициализируется, но другая определяется и инициализируется в одной и той же строке. < /p>
тот, который определяется и инициализируется в одной и той же линии переменной A , не производит ошибку при пропуске, но другой делает.
i ' m Использует VS2019 для составления этого кода. Я думаю, что это вообще не должно бросить ошибку, и компилятор должен дать вам предупреждение, чтобы вы знали, что вы что -то пропускаете в обоих случаях и и инициализации B .
есть ли какое -либо решение для этого, например, отключение чего -то в настройках?

Подробнее здесь: https://stackoverflow.com/questions/709 ... ialization

Вернуться в «C++»