Я пытаюсь использовать этикетки в своем проекте, но когда я перепрыгиваю через набор инструкций, используя 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
GOTO создает ошибку "обход инициализации" ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Какова логика получения ошибки при переходе (goto) по инициализации переменной? [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Какова логика получения ошибки при переходе (goto) по инициализации переменной? [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-