当我在Visual Studio 2008中编译下面的代码片段代码时,出现此警告。警告C4800:'BOOL':强制值为bool'true'或'false'(性能警告)
BOOL
CPlan::getStandardPlan() const
{
return m_standardPlan;
}
bool m_bStandardPlan;
if(plan!=NULL)
{
// Assign the values to the Cola object
poCola->m_lPlanId = plan->getPlanId();
poCola->m_lPlanElementId = plan->getPlanElementId();
poCola->m_lPlanElementBaseId = plan->getPlanElementBaseId();
poCola->m_bStandardPlan = plan->getStandardPlan(); //C4800
return 1;
}
我提到以下链接,
http://msdn.microsoft.com/en-us/library/b6801kcy%28v=vs.90%29.aspx
Forcing value to boolean: (bool) makes warning, !! doesnt
Warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
我不知道如何解决这个问题的警告。
你为什么不使用'bool',而不是'BOOL'作为首位返回值? – Henrik
@Henrik如果user3360310没有采用微软的“前缀一切与C”符号,“CPlan”看起来很像一个MS库中的类,所以签名不能改变。 –