@CityzenUNDEAD

Можно ли как-то поставить в условие case значение переменной?

Добрый день!
Имеется конструкция switch case
Такого формата:
int counter;
switch (counter) 
{
    case 0:
        //набор инструкций
    case 10:
      //набор инструкций
}


Как можно значения 0 и 10 заменить именами переменных?
Допустим нужно что бы где-то в другом месте эти значения через переменные устанавливались/менялись, а в конструкции switch case это условия тут обновились.
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@alexalexes
switch потребует от параметров при case быть константными - в этом недостаток всей конструкции switch. Так как компилятор перестраховывает себя для выбора единственного значения case.
Чтобы можно было использовать переменные (не константы), придется использовать только каскадный if. В нем вы явно задаете возможность выполнения альтернативы через else, чего не хватает в конструкции switch.
int counter;
int param1 = 0;
int param2 = 10;
if(counter == param1)
{
  //набор инструкций 1
}
else if(counter == param2)
{
  //набор инструкций 2
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы