Если у меня есть строго типизированное перечисление, скажем, базовый тип int
, можно ли отличить значение int
, которое не соответствует любому перечислителю для типа перечисления?
enum e1 : int { x = 0, y = 1 };
enum class e2 : int { x = 0, y = 1 };
int main() {
e1 foo = static_cast<e1>(42); // is this UB?
e2 bar = static_cast<e2>(42);
}