我的代码中有这个问题:
bool CBase::isNumber()
{
return (id & MID_NUMBER);
}
bool CBase::isVar()
{
return (id & MID_VARIABLE);
}
bool CBase::isSymbol()
{
return (id & MID_SYMBOL);
}
答案 0 :(得分:52)
答案 1 :(得分:2)
使用!!成语例如
bool CBase::isNumber()
{
return !!(id & MID_NUMBER);
}
答案 2 :(得分:1)
id和MID_NUMBER的声明在哪里?你确定他们不是windef风格的BOOL而不是(小写)bool吗? BOOL几十年来一直在windef作为一个int类型;他们预先约定适当的C ++ bool,并且很多开发人员仍在使用它们。