首页 > Windows开发 > 详细

VS2015--win32工程配置的一些想法之警告:“BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

时间:2016-02-18 00:05:32      阅读:505      评论:0      收藏:0      [点我收藏+]

review了一些代码,参考c++ google style还有一定的距离。

有一条就是把警告当成错误进行处理。

今天就遇到了这样一个警告(错误):
BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

定位到了原型后发现,函数的参数定义为bool类型,而函数调用时使用的实参是BOOL类型。

当时有些疏忽,没有在意二者的区别。现在就来八一八。

首先看定义:

#define     bool                _Bool
typedef     int                 BOOL;

恍然大悟吧,二者类型就是不同的。

取值不同
bool取值false和true,是0和1的区别
BOOL取值FALSE和TRUE,是0和非0的区别

看看例子:

bool x = 5;   //告警
bool x = 1;   //正确
BOOL x = 5;   //正确
BOOL x = 3.3; //告警

个人觉得,就是要统一。
如果是写标准的C++,那么就全用bool;
如果是写vc++,就尽量使用BOOL,避免转换产生的性能警告。

VS2015--win32工程配置的一些想法之警告:“BOOL”: 将值强制为布尔值“true”或“false”(性能警告)

原文:http://blog.csdn.net/wangshubo1989/article/details/50682698

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!