Несколько замечаний:
Вы должны всегда объявлять ваше перечисление в пространстве имен, так как перечисления не являются правильными пространствами имен, и у вас будет соблазн использовать их как одно.
Всегда иметь разрыв в конце каждого предложения коммутатора, выполнение будет продолжаться вниз до конца, в противном случае.
Всегда включайте чехол default:
в коммутатор.
Используйте переменные типа enum для хранения значений enum для ясности.
см. здесь для обсуждения правильного использования перечислений в C ++.
Это то, что вы хотите сделать.
namespace choices
{
enum myChoice
{
EASY = 1 ,
MEDIUM = 2,
HARD = 3
};
}
int main(int c, char** argv)
{
choices::myChoice enumVar;
cin >> enumVar;
switch (enumVar)
{
case choices::EASY:
{
// do stuff
break;
}
case choices::MEDIUM:
{
// do stuff
break;
}
default:
{
// is likely to be an error
}
};
}