Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
HDR
39 / 14 / 2
Регистрация: 11.05.2010
Сообщений: 139
#1

Ошибка при использовании Switch - case - C++

15.06.2010, 18:37. Просмотров 1382. Ответов 8
Метки нет (Все метки)

вообщем в одном из case у меня читается из файла и записывается в массив структур,
там же определяется и инициализируется несколько значимых переменных (вот MAX например),
которые я использую в других case, так вот компилятор ругается:

Error11 error C2360: initialization of 'MAX' is skipped by 'case' label

че сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2010, 18:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ошибка при использовании Switch - case (C++):

case outside of switch ? Что за ошибка? - C++
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #pragma argsused ...

C++, ошибка в операторе switch (case) - C++
Доброго времени суток! Ребят, такая тема: в C++ начала изучать операторы switch, case. И вот у меня заступорилась программа: на case '10'...

Оптимальная конструкция switch-case-while / while-switch-case - C++
Имеется конструкция типа: switch() { case 1: while() { ... }

Ошибка в switch case: expected primary-expression before '<=' token; - C++
do { cout &lt;&lt; &quot;Ââåäèòå íîìåð ôóíêöèè êîòîðóþ âû õîòèòå èñïîëüçîâàòü:&quot; &lt;&lt; endl; cin &gt;&gt; FunctionChoice; ...

Внутри switch ошибка Case bypasses initialization of a local variable - C++
Компилятор не устраивает case 3, там ввод массива автоматически , в чем ошибка подскажите Ошибку пишет Case bypasses initialization of a...

Switch case внутри switch case - C++
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл while, внутри которого у меня switch...

8
easybudda
Модератор
Эксперт CЭксперт С++
10020 / 5943 / 1004
Регистрация: 25.07.2009
Сообщений: 11,230
15.06.2010, 18:44 #2
Цитата Сообщение от HDR Посмотреть сообщение
че сделать?
кофе заваривать, карты раскидывать, на чём там ещё обычно гадают... Судя по ошибке, в ветке "label" переменная MAX не инициализируется, но используется где-то дальше. А где именно - не видя кода только гадать и остаётся...
1
Market
21 / 21 / 1
Регистрация: 18.03.2010
Сообщений: 19
15.06.2010, 20:12 #3
Лучше код киньте посмотреть
0
Mr.X
Эксперт С++
3060 / 1705 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
15.06.2010, 23:04 #4
Код case, в котором объявлена переменная, нужно заключить в фигурные скобки.
0
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 143
Регистрация: 03.07.2009
Сообщений: 10,708
15.06.2010, 23:28 #5
Mr.X, замечание не по делу. Код кейса может не заключаться в фигурные скобки. Но заключается обычно в слово case и заканчивается словом break
0
Crudelis
Шаровик затейник
677 / 426 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
15.06.2010, 23:46 #6
код в студию, кофейная гуща закончилась
0
Mr.X
Эксперт С++
3060 / 1705 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
16.06.2010, 07:30 #7
Цитата Сообщение от M128K145 Посмотреть сообщение
Mr.X, замечание не по делу. Код кейса может не заключаться в фигурные скобки. Но заключается обычно в слово case и заканчивается словом break
Попробуйте объявить в case переменную, не заключая его код в фигурные скобки, и с вами будет то же, что и с автором.
0
SameeR
3 / 3 / 0
Регистрация: 10.04.2010
Сообщений: 14
16.06.2010, 15:32 #8
прога тима системы данных

посмотри код и сравни свой
может найдешь ошибку
не видя код не могу ничего сказать
0
Somebody
2799 / 1610 / 150
Регистрация: 03.12.2007
Сообщений: 4,210
Завершенные тесты: 3
16.06.2010, 20:29 #9
Цитата Сообщение от M128K145 Посмотреть сообщение
Код кейса может не заключаться в фигурные скобки. Но заключается обычно в слово case и заканчивается словом break
Здесь как раз о случае, когда надо заключать:
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    switch (2 + 2)
    {
        case 0:
            int a = 5;
            break;
        case 1:
            break;
    }
}
Такое не компилится, потому что a объявлена в блоке switch, но при переходе на case 1 её инициализация пропустилась бы. Если же случай case 0 заключить в отдельный блок, то a будет доступна только в нём и всё будет нормально.
1
16.06.2010, 20:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2010, 20:29
Привет! Вот еще темы с ответами:

switch-case, как писать в самом case - C++
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в...

Ошибка: "case label not within a switch statement" - C++
Здравствуйте, работая с оператором switch произошла ошибка case label '1' not within a switch statement case label '1' not within a...

case-switch - C++
Вот то задание что с case-switch надо сделать помогите знаю что задание дурное

Switch (Case) - C++
У меня есть программа, в ней по сути 2 подпрограммы, как сделать что бы при включении программы было меню выбора какое задание выполнять ? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru