Да, есть способ проверить, является ли его перечисление частью, при условии, что перечисление инициализировано.
enum value
{
ENUM_MIN = 0,
.
.
.
.
.
ENUM_MAX
};
предположим, что у вас есть int x = -1;
if(x>ENUM_MIN && x< ENUM_MAX)
printf(" Part of enum");
Это не будет работать в следующем случае:
enum value
{
ENUM_MIN = 0,
ENUM_TWO =2,
.
.
.
ENUM_MAX
};
если значение x
равно 1
, то вы не можете использовать вышеуказанное решение.