gpt4 book ai didi

枚举的组成

转载 作者:行者123 更新时间:2023-12-02 05:53:44 24 4
gpt4 key购买 nike

有没有办法在 C 中组合多个枚举?我想要一个将在其他枚举中使用的通用枚举。

例如,我想编写如下代码:

enum common_e {
COMMON_LITERAL_0,
COMMON_LITERAL_1
}

enum first_e {
common_e, // <- Somehow I would like to have the two common_e's literals here
FIRST_LITERAL_0,
}

enum another_e {
common_e, // <- Somehow I would like to have the two common_e's literals here
ANOTHER_LITERAL_0,
ANOTHER_LITERAL_1
}

我关心的是让公共(public)文字在子枚举中保持相同的顺序,因为它们被用作函数指针数组的 ID。

有解决方案吗?

最佳答案

enum 没有命名空间,因此您不能有两个同名的枚举器。所以不,你不能这样做,即使使用预处理器或其他魔法也是如此。

如果您只是想让枚举值在普通值停止的地方继续,那么如何:

enum common_e {
COMMON_LITERAL_0,
COMMON_LITERAL_1,
COMMON_LITERAL_END__
};

enum first_e {
FIRST_LITERAL_0 = COMMON_LITERAL_END__,
FIRST_LITERAL_1
};

关于枚举的组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com