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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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