Предупреждение компилятора при включении перечисления

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 ++ и требует чтобы жить с?

5
задан sth 9 May 2011 в 10:35
поделиться