可能重复:
如何在 C++ 中使用枚举作为标志?
为了解释我想要做什么,我试图获取一个包含更新检查信息的标志整数,例如
int flags = keyPress | mouseClick | mouseMove;
从我的事件枚举中;
enum mEvents {
keyPress = QEvent::KeyPress,
keyRelease = QEvent::KeyRelease,
mouseClick = QEvent::MouseButtonPress,
mouseDoubleClick = QEvent::MouseButtonDblClick,
mouseMove = QEvent::MouseMove
};
这样我就可以检查发生了什么事件类型;
void Lib::Update(QEvent *e) {
if (e->type() == flags)
stateManager->updateCurrentState(e);
}
我想做的是说,如果事件类型是“标志”中的以下任何一种,则更新。但是,这是行不通的。更准确地说,它适用于按键,但不适用于鼠标点击或移动事件。
所以我想知道,如果我想做的事情是可能的,如果可以,我怎么能做到这一点?(我很确定,我知道 SDL 使用类似的标志系统来创建屏幕)非常感谢任何帮助。)