return 0 与 return -1
背景:
将用户登录对话框放在了int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数里。
代码如下:
if(IDOK != m_LoginDlg.DoModal())
{
return -1;
}
原来返回FALSE,在直接关闭登录对话框时还会继续创建窗口;
如果返回-1的话则直接退出。与期望的一样。
参见MSDN的解释:
OnCreate must return 0 to continue the creation of the CWnd object. If the application returns –1, the window will be destroyed.
这只是针对MFC中一个特定类(CWnd)的一个特定函数(OnCreate)的区别。在C++里,
返回0 ,1, -1分别有什么区别,还待定。
浙公网安备 33010602011771号