我有以下代码:
enum tag1 {
n1, n2, n3
};
enum tag2 {
n4, n5, n1
};
现在,我收到了一个错误,n1
被使用了两次
所以我的问题是当枚举常量没有范围时,enum tags
的用法是什么。
答案 0 :(得分:3)
不,你不能这样使用它。 “C”中的枚举不是强类型。
使用枚举可以提高抽象级别,让程序员思考值的含义,而不是担心它们的存储和访问方式。这减少了错误的发生。
Enums有这些好处:
答案 1 :(得分:1)
您可以使用enum
代码声明相应enum
类型的变量,而无需使用typedef
:
enum tag1 varName = n5;
不幸的是,没有办法让几个enum
在同一个翻译单元中共享一个成员。显然,您可以在不同的标头中定义两个enum
,并充分利用它们,只要这两个标头不包含在同一个C
文件中。