Скажем, у меня есть что-то вроде этого:
enum CardColor { HEARTS, DIAMONDS, CLUBS, SPADES};
CardColor MyColor = static_cast<CardColor>(100);
Есть ли (простой) способ обнаружить во время компиляции или во время выполнения значение MyColor
не соответствует любому перечислимому значению?
И в общем случае, если значения перечисления не следуют друг за другом, например:
enum CardColor { HEARTS = 0, DIAMONDS, CLUBS = 4, SPADES};