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.


以上是C中枚举类型的隐式类型转换的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>