Что произойдет, если я передам целое число в класс enum, но значение отсутствует в перечислении? Например: Я хочу функцию, которая проверяет, имеет ли целое число какое-либо значение из класса enum:
enum class EnumClass { A, B = 4, C = 9, D = 60 };
bool checkEnumClass( int v )
{
switch( static_cast< EnumClass >( v ) )
{
case EnumClass::A:
case EnumClass::B:
case EnumClass::C:
case EnumClass::D:
return true;
default:
return false;
}
}
checkEnumClass( 0 ) == true;
checkEnumClass( 7 ) == false; // is this true?
Правильно ли это проверить, является ли целое число конвертируемым для перечисления?