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