我正在尝试建立一个基于常量的结构。我有ObjectTypes
(KEYBOARD, MOUSE, HAPTIC ...) 可以有InputTypes
(鼠标可以是默认值和反向,而键盘可以是默认值和数字和触觉只能是默认值)。
为了让它工作,我试图Constants
在 C++ 中调用的类中使用枚举中的枚举。ObjectTypes
将参数和参数传递给函数可能会起作用InputTypes
,所以我在原型中需要这样的东西:
changeInputSystem(SimulatorConstants::InputObject input, SimulatorConstants::InputTypes type)
但是在 C++ 中,当我声明一个枚举时(内部)从中取出的每个值,其中一些值替换了其他值。
我现在的代码(不工作)是:
enum InputObject {
KEYBOARD,
MOUSE,
HAPTIC
};
enum InputTypes {
enum KeyboardTypes {
DEFAULT
};
enum MouseTypes {
DEFAULT,
INVERSE
};
enum HapticTypes {
DEFAULT
};
};
注意:我知道枚举之间没有继承,所以我需要任何可以以类似方式工作的解决方案。谢谢。