Учитывая, что static_cast<MyEnum>(userInt)
может привести к неопределенному поведению, если userInt
не отображается, каков правильный способ создания строго типизированного перечисления из целого числа, введенного пользователем?
Также я бы хотелхотел бы установить значение по умолчанию, если введенное значение не отображается в перечислении.
Одно из решений:
switch (userInt)
{
case 1:
selEnum = myEnum1;
break;
case 2:
selEnum = myEnum2;
break;
default:
selEnum = myEnum2;
error = true;
break;
}
Но мне не нравится, что я должен помнитьобновите его, если я изменил значения перечисления.