这是我的代码:
#include <stdio.h>
int main()
{
enum C {green = 5, red};
enum CC {blue, yellow} cc = green;
printf("%i\n", cc);
return 0;
}
它会编译并产生控制台输出5。
cppreference.com说:“枚举类型是一种独特的类型,其值被限制为几个显式命名的常量(枚举常量)之一。” 我真的很困惑。
顺便说一句,我正在使用的编译器是gcc版本4.8.1。
从std 6.7.2.3(枚举内容)开始-的基础类型enum
是实现定义的,但是type的变量enum
可以分配任意数量的基础类型(至少是char
)。
每个枚举类型应与char,有符号整数类型或无符号整数类型兼容。类型的选择是实现定义的,但应能够表示枚举的所有成员的值。枚举类型是不完整的,直到紧接终止枚举器声明列表的}之后,然后才完成。
不需要编译器检查enum
变量中存储的内容对于该枚举是否有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句