首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求解"Dlg dlg=new Dlg(AfxGetMainWnd())"解决方法

2013-12-13 
求解Dlgdlgnew Dlg(AfxGetMainWnd())我创建了一个对话框,类名为Dlg。之后通过Dlgdlgnew Dlg(AfxGetMai

求解"Dlg dlg=new Dlg(AfxGetMainWnd())"
我创建了一个对话框,类名为Dlg。之后通过"Dlg  dlg=new Dlg(AfxGetMainWnd());"定义了一个全局变量dlg,然后通过在一个函数中添加下面的代码创建该对话框,这个程序能运行成功。
          if(dlg)///如果对话框已生成
{
dlg.SetActiveWindow();///激活对话框
dlg.ShowWindow(SW_SHOW);///将对话框设置为可见
}
else
{
dlg.Create(IDD_DIALOG1); /////生成对话框
dlg.ShowWindow(SW_SHOW);///将对话框设置为可见
}
但是我对“Dlg  dlg=new Dlg(AfxGetMainWnd());"始终挺困惑的:
   "Dlg dlg“按理说应该是定义了对话框类Dlg的一个对象dlg,但"new Dlg(AfxGetMainWnd())"的返回值是一个指针,并且赋值给dlg,这样说的话dlg就应该是一个指针了,所以dlg到底是什么?
哪位可以帮满解决下,谢了!!!
[解决办法]
不是
Dlg * dlg=new Dlg(AfxGetMainWnd());

[解决办法]
如果你的Dlg不是指针的宏定义或者typedef。能编译过???
[解决办法]
如果Dlg没有宏定义或者typedef什么的,那么Dlg有一个从Dlg*的构造函数或者赋值操作符,以及从Dlg到bool的一个转换定义。

热点排行