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分别有什么区别,还待定。

posted on 2011-11-23 14:18  LateStop  阅读(472)  评论(0)    收藏  举报

导航