是否可以使用数组定义枚举常量?像这样:
enum myEnum
{
abc = {12, 34, 56};
def = {-12, -13, -14};
};
答案 0 :(得分:3)
这是不可能的。枚举常量必须是整数类型。
来自C standard的第6.7.2.2节:
2 定义枚举常量的值的表达式应为具有值的整数常量表达式 可表示为
int
3 枚举器列表中的标识符被声明为类型为
int
的常量,并且可能出现在任何位置 允许的。具有=
的枚举器定义其枚举 常量作为常量表达式的值。如果是第一个 枚举器没有=
,其枚举常量的值为0.每个 没有=
的后续枚举器定义其枚举常量 作为通过加1获得的常量表达式的值 到前一个枚举常量的值。 (指某东西的用途 具有=
的枚举器可以生成具有值的枚举常量 在同一枚举中复制其他值。)。的枚举数 枚举也称为其成员。
答案 1 :(得分:0)
没有
枚举包含一组命名的整数常量值。
(C2011,6.2.5 / 16)
枚举常量的值是实现选择的整数类型。它们不能具有实际类型,指针类型或聚合类型(包括数组类型)。为枚举常量声明的(可选)值必须是整数。