为什么很多次在用bool变量时都会出现下面这个警告:
warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
我的程序段的内容是:
int CAutoClientView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
bool bLoaded; bLoaded=m_autoServer.CreateDispatch("AutoServer.Document");
if(bLoaded==false)
return -1;
return 0;
}
warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
我的程序段的内容是:
int CAutoClientView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
bool bLoaded; bLoaded=m_autoServer.CreateDispatch("AutoServer.Document");
if(bLoaded==false)
return -1;
return 0;
}
解决方案 »
- vc6.0、vc.net2003、vc.net2008、vc.net2010、
- pudn 哪位朋友帮忙下载一下,非常感谢
- 侯sir那本《深入浅出MFC》p17页的generic程序在VC6下到底该如何编译?
- VC++中使用MSXML如和操作XML,求助。。。。。。
- MyIE 4.0!横空出世!GreenBrowser后续,开放源代码!
- 编译时遇到这个问题,我快被弄傻了。望高手指点。在线等
- 请教一个关于类型判断的问题!谢谢!急急急急!
- 找别扭的两不同位图怎么处理。非常感谢!
- 有人读过ActiveX Control Test Container的源代码吗?俺有些不明白的地方能给俺解释一下吗?
- 如何删除只读、系统的文件,::deletefile不行。
- 刚学COM,请推荐一些能够Download有关COM学习的书的网址.这里先谢了!!!
- atl和wtl的头文件要安装什么才有啊,我怎么装了vs.net和platform sdk怎么都没有啊?
Nonzero on success; otherwise, it is zero.
在你的例程中,CreateDispatch的返回值是BOOL,实际上就是int(?),所以会出现警告。
str.Format("C++ bool: size=%d,false=%x,true=%x",sizeof(bool),false,true);
AfxMessageBox(str);
str.Format("VC BOOL: size=%d,FALSE=%x,TRUE=%x",sizeof(BOOL),FALSE,TRUE);
AfxMessageBox(str);
str.Format("VARIANT(VT_BOOL): size=%d,VARIANT_FALSE=%x,VARIANT_TRUE=%x",
sizeof(VARIANT_FALSE),VARIANT_FALSE,VARIANT_TRUE);
AfxMessageBox(str);结论:
类型 字节长度 假 真
bool 1- char 0 1
BOOL 4- int 0 1
VT_BOOL 2- short int 0 -1