Я пытаюсь использовать этикетки в своем проекте, но когда я перепрыгиваю через набор инструкций, используя 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++
Программы на C++. Форум разработчиков
1739543610
Anonymous
Я пытаюсь использовать этикетки в своем проекте, но когда я перепрыгиваю через набор инструкций, используя GOTO для передачи управления в другой раздел кода, я получаю эту ошибку, которая говорит: [b] контроль передачи обход инициализации ( определенные переменные) [/b].
Это код, который создает ошибку:
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>
тот, который определяется и инициализируется в одной и той же линии [b] переменной A [/b], не производит ошибку при пропуске, но другой делает.
i ' m Использует VS2019 для составления этого кода. Я думаю, что это вообще не должно бросить ошибку, и компилятор должен дать вам предупреждение, чтобы вы знали, что вы что -то пропускаете в обоих случаях [b] и и инициализации B [/b].
есть ли какое -либо решение для этого, например, отключение чего -то в настройках?
Подробнее здесь: [url]https://stackoverflow.com/questions/70944267/goto-produces-an-error-bypassing-initialization[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия