C中枚举类型的隐式类型转换
在 C 中,有没有办法为以下联合类型声明隐式类型转换:
enum COMP {
LessThan,
Equal,
GreaterThan
};
将它映射到一个整数:
enum COMP {
LessThan : 1,
Equal : 0,
GreaterThan : -1
};
回答
你拥有的是一个enum
,而不是一个union
。以及它看起来像你问的是,如果你可以指定特定的值,以枚举常量。你可以这样做:
enum COMP {
LessThan=-1,
Equal=0,
GreaterThan=1
};
此外,枚举被视为整数类型,因此您可以安全地转换为int
.