Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 11:32   #1
Darth_Vader
Пользователь
 
Регистрация: 03.04.2011
Сообщений: 19
По умолчанию switch, goto, область видимости

Доброго времени суток!
Имеется такой кусок кода:
Код:
void Func()
{
 switch (Data.Block)
            {
                case 0:
                    goto Blok0;  
                case 1:
                    goto Blok1;     
                case 2:
                    goto Blok2;
            }

Blok0:
//..............команды.....


Blok1:            
            for (;
                Data.Part_In_Block_Count < Data.Diam.Count;
                Data.Part_In_Block_Count++)
            {
               //..............команды_1.....
               //Blok1 проверка условий на выход из метода Func()
         Blok2: 
              //..............команды_2.....
              //Blok2 проверка условий на выход из метода Func()
            }
}
При компиляции ругается на то что "Blok2" вне видимости goto, как сделать ее видимой для оператора goto? Или как можно по другому организовать данный код? Нужно сделать так, что бы если условия выхода из метода в Блоке1 выполнились, то при повторном вызове метода работа цикла продолжится с метки "Blok2:".
Заранее спасибо!
Darth_Vader вне форума Ответить с цитированием
Старый 25.11.2012, 11:40   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Block2 не виден, так-как он находится внутри for. Оформите его в виде цункции и вызывайте как функцию.
А вообще, в данном случае использовать гот, не есть айс.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 27.11.2012, 01:04   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
А вообще, в данном случае использовать гот, не есть айс.
Я бы даже сказал, что использование goto в целом - не есть айс...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Область видимости chertovich Общие вопросы Delphi 10 24.09.2011 03:21
область видимости классов sashonk JavaScript, Ajax 1 15.09.2010 11:19
область видимости Dimarik Общие вопросы .NET 5 21.02.2010 21:32
область видимости переменных. С++ Prestigio Помощь студентам 10 07.07.2008 15:55
область видимости ? artem779 Общие вопросы Delphi 3 14.09.2007 09:34