您的位置:首页 > 其它

如何正确将BOOL转bool

2015-11-19 11:13 253 查看
void main() {
//BOOL bRet = -1; //输出的是"ERROR\n" "true\n"
//BOOL bRet = 0;  //输出的是"FALSE\n" "false\n"
//BOOL bRet = 1;  //输出的是"TRUE\n" "true\n"
BOOL bRet = 2;  //输出的是"ERROR\n" "true\n"
if (bRet == TRUE) {
cout << "TRUE\n";
} else if (bRet == FALSE) {
cout << "FALSE\n";
} else {
cout << "ERROR\n";
}

//bool bret = (bRet == TRUE);
bool bret = bRet;
if (bret == true) {
cout << "true\n";
} else if (bret == false) {
cout << "false\n";
} else {
cout << "error\n";
}

while (1);
}
原因:

1、BOOL类型的值分辩(0和1);值为0表示FALSE,为1表示TRUE,为其余都是ERROR。BOOL一般有4个字节。

2、bool类型的值分辩(0和非0);值为0表示false,为其余都是true。bool只有一个字节。

结论:

1、所以BOOL转bool的时候应该注意这样转:bool bret = (bRet == TRUE);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: