enum ENUM(Option1,Option2,Option3);
string func(ENUM x)
{
switch(x)
{
case Option1: return "Option1";
case Option2: return "Option2";
case Option3: return "Option3";
}
}
Это компилируется и работает, но выдает предупреждение компилятора о том, что не все пути управления возвращаются. Однако дело не в том, что если вы правильно используете перечисления, это не так? Если добавлен еще один ENUM val, я хочу, чтобы компиляция завершилась неудачно, но пока все случаи покрыты, я хочу, чтобы он компилировался без предупреждений.
Это компилятор, защищающий от неверных приведенных значений, это просто часть C ++ и требует чтобы жить с?