我想创建一个新的枚举,并使用 c++ 的枚举类或结构将其值重新映射到另一个枚举。
typedef enum {
p1,
p2,
p3,
p4
} GPIO_Pins;
enum struct USB_Pins : GPIO_Pins {
D0 = p1,
D1 = p2,
D2 = p3,
D3 = p4
};
不幸的是,编译器抱怨,
错误:“USB_Pins”的基础类型“GPIO_Pins”必须是一个整数 类型
我的印象是枚举是不可或缺的,不是吗?如果我从 USB_Pins 声明中删除基本类型,错误就会消失,但有很多代码需要 GPIO_Pins 类型。这迫使我不公平地将 USB_Pins 转换为 GPIO_Pins。
我的印象是枚举是不可或缺的,不是吗?
不,枚举本身就是一个不同的类型(就像类定义一个不同的类型一样)。