问题描述
以这个简单的代码为例:
void CChristianLifeMinistryEditorDlg::OnoptionsAddTimetoConcludingComments()
{
BOOL bAddTime = CChristianLifeMinistryUtils::AddRemainingTimetoConcludingComments();
bAddTime = !bAddTime;
CChristianLifeMinistryUtils::SetAddRemainingTimetoConcludingComments(bAddTime);
UpdateMenuGUI();
SetModified(true);
}
!bAddTime
被标记:
它说:
使用逻辑“!”当按位 '~' 可能是有意的。
我之前使用过这种技术来切换布尔值,它似乎可以正确运行。那么为什么会出现警告呢?它与视觉辅助无关。
解决方法
简单的改变
BOOL bAddTime = ...
到
bool bAddTime = ...
我猜静态代码分析会因为 BOOL
是 int
的类型别名而感到困惑。