列挙型に関するプロジェクトで問題が発生しました。EventDef.h では、
enum EventDef {
EVT1 = 0,
EVT2,
EVT3,
EVT_NUM,
}
このようにして、別のヘッダー UIEventDef.h で EventDef システムを拡張できます。
#include "EventDef.h"
enum UIEventDef {
UIEVT1 = EVT_NUM,
UIEVT2,
UIEVT3,
}
ただし、NetEvent.h で同じようにできないという制限があります。
#include "EventDef.h"
enum NetEventDef {
NETEVT1 = EVT_NUM,
NETEVT2, //wrong: this will have the same value as UIEVT2
NETEVT3,
}
役立つテンプレートなど、C++ でより優れたコンパイル時ソリューションはありますか?