gpt4 book ai didi

c++ - 将一个枚举映射到另一个枚举

转载 作者:太空狗 更新时间:2023-10-29 23:07:37 24 4
gpt4 key购买 nike

有一个现有的枚举

typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides;

我想创建另一个枚举 new_myEnumSides,它的值应该映射到 myEnumSides 的值。因此,我将使用 new_myEnumSides 而不是 myEnumSides。下面的代码是否适合此目的?

typedef enum
{
new_myEnum_front = myEnumSides::myEnum_front,
new_myEnum_back = myEnumSides::myEnum_back
} new_myEnumSides;

或者有更好的方法吗?

最佳答案

我无法想象为什么你需要这样做......如果你不需要重命名枚举的值,你可以再做一个第一个的变量,不添加另一个枚举(我相信这不是你的情况,但仍然必须指出这个机会):

typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides, new_myEnumSides;//<-- just add the new variable here

如果您确实想要重命名它(我相信,您的情况),您应该使用: : 运算符,但只需写:

typedef enum
{
myEnum_front = 11,
myEnum_back = 19
} myEnumSides;

typedef enum
{
new_myEnum_front = myEnum_front,
new_myEnum_back = myEnum_back
} new_myEnumSides;

仅当枚举在类、结构或命名空间内时才应使用 :: 运算符,否则不需要 ::

关于c++ - 将一个枚举映射到另一个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12281368/

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