定数に基づいた構造を作ろうとしています。私はObjectTypes
(KEYBOARD、MOUSE、HAPTIC ...)を持っていますInputTypes
(MOUSEはDEFAULTとINVERSEにすることができますが、KEYBOARDはDEFAULTとNUMERICとHAPTICのみをDEFAULTにすることができます)。
Constants
これを機能させるために、C++ で呼び出されたクラスの列挙型内で列挙型を使用しようとしています。ObjectTypes
パラメータとパラメータを関数に渡すとうまくいくかもしれないInputTypes
ので、プロトタイプには次のようなものが必要です。
changeInputSystem(SimulatorConstants::InputObject input, SimulatorConstants::InputTypes type)
しかし、C++ では、enum を宣言すると、すべての値がこれから (内部的に) 取り出され、そのうちのいくつかが他の値を置き換えます。
現在の私のコード(そして機能していない)は次のとおりです。
enum InputObject {
KEYBOARD,
MOUSE,
HAPTIC
};
enum InputTypes {
enum KeyboardTypes {
DEFAULT
};
enum MouseTypes {
DEFAULT,
INVERSE
};
enum HapticTypes {
DEFAULT
};
};
注:列挙型の間に継承がないことはわかっているので、同様の方法で機能するソリューションが必要です。ありがとう。