我有3个值的枚举:C++枚举和OR条件
enum InputState { Pressed, Released, Held };
而且我用它在这个代码:
//GetState returns an InputState
if(myInput.GetState(keyCode) == InputState::Pressed)
{
//This means "keyCode" has the state "Pressed"
}
为什么不这项工作?
if(myInput.GetState(keyCode) == (InputState::Pressed || InputState::Held))
{
//This is always false
}
if((myInput.GetState(keyCode) == InputState::Pressed) || (myInput.GetState(keyCode) == InputState::Held))
{
//This works as intended, triggers when "keyCode" is either Pressed OR Held
}
作为一个测试,我做:
//Using the same values from the enum, but as int now
if(1 == (1 || 2))
{
//This works as intended
}
我缺少的东西?