我在枚举项目中遇到了问题。在 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++ 中是否有更好的编译时解决方案,例如可以提供帮助的模板?