【发布时间】:2014-04-25 06:42:00
【问题描述】:
当我在 Visual Studio 2008 中编译以下代码 sn-p 代码时,我收到此警告。
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 如果 user3360310 没有采用微软的“prefix-everything-with-C”表示法,
CPlan看起来很像一些 MS 库中的类,因此无法更改签名。
标签: c++ visual-studio visual-c++