我在C中声明了此枚举类型:
enum months { JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC } ;
当我试图在
main()
中创建月份类型的变量时,使用:months month;
它给出以下错误:
未知类型“月”
但当我这样声明时:
enum months { JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC } month;
它工作得很好。我认为这两种方法都是有效的,为什么会有错误?
最佳答案
您需要在它周围包装一个typedef
,否则您可以通过声明它是一个enum
来访问它。
例子:
typedef enum { JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC } months;
months month;
或者
enum months { JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC };
enum months month;
关于c - C中的枚举类型变量声明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29107826/