程序如下: ...... CFileFind finder; bool bWorking =finder.FindFile("c:\\文件.txt"); ......编译提示:warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)把bool改成大写的BOOL后就没有警告的提示了,为什么呢?不都是布尔变量吗?区别在哪呢?还有true和TRUE的区别呢?

热心网友

BOOL型在windef.h头文件中被定义,其实际类型为int,换句话说,BOOL其实就是int型变量,与布尔型bool没有什么关系。finder.FindFile函数实际上会返回一int型变量。至于true和TRUE,同样的,true和false是都是布尔值,而TRUE是一个int值(其值为1),FALSE也是int值(其值为0)。

热心网友

在.h文件中定义不同而已