Из таких вопросов, как this и this, у меня сложилось впечатление, что наследование от примитивного типа приведет к ошибке компилятора. Однако следующий код компилирует и производит ожидаемый результат на Ideone.
#include <iostream>
enum class Test : unsigned short int
{
TEST, TEST2, TEST3, TEST4
};
int main() {
// your code goes here
Test ans = Test::TEST3;
if(ans == Test::TEST3)
{
std::cout << "Here" << std::endl;
}
return 0;
}
Является ли тот факт, что class
также является enum
, изменяет ответы в первых двух Q & A? Является ли это четко определенное поведение стандартом?