指针不能指向不完整的类类型错误

时间:2022-08-02 02:10:43
void CMymfcDlg::OnBnClickedOk()
{
// TODO:  在此添加控件通知处理程序代码
if ((dialog != NULL) && ::IsWindow(dialog->m_hWnd))//error:指针不能指向不完整的类类型
{
AfxMessageBox(TEXT("对话框已经被创建"));
dialog->ShowWindow(SW_SHOW);
}
else
{
diglog = new dlg(NULL);//error:不能使用不完整的类型

}
if (!IsWindow(dialog->m_hWnd))
{
dialog->Create(IDD_DIALOG1, NULL);//error:指针不能指向不完整的类类型
dialog->ShowWindow(SW_SHOW);//error:指针不能指向不完整的类类型
}
}

在创建非模态对话框时出错  求解答

9 个解决方案

#1


那个dialog是什么类型的对象

#2


diglog = new dlg(NULL);//error:不能使用不完整的类型

dlg是个什么类型?派生自CDialog类?

#3


对  派生自CDialog类

#4


引用 1 楼 mrlgy 的回复:
那个dialog是什么类型的对象


派生自CDialog类 的派生类

#5


你#include了dlg类的。h文件了没?

#6


引用 5 楼 VisualEleven 的回复:
你#include了dlg类的。h文件了没?

已经包含了dlg.h啊

#7


//不是所有的编译器都能支持这种逻辑
if ((dialog != NULL) && ::IsWindow(dialog->m_hWnd))//error:指针不能指向不完整的类类型
==>
if ((dialog != NULL) 
{
  if(::IsWindow(dialog->m_hWnd)) //error:指针不能指向不完整的类类型
 {
。。。。。。。。
 }
}
else
{
dialog= new dlg(NULL); //
}

#8


dialog 你的这个初始化的时候没赋值NULL并且没有创建或创建失败了吧。

#9


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#1


那个dialog是什么类型的对象

#2


diglog = new dlg(NULL);//error:不能使用不完整的类型

dlg是个什么类型?派生自CDialog类?

#3


对  派生自CDialog类

#4


引用 1 楼 mrlgy 的回复:
那个dialog是什么类型的对象


派生自CDialog类 的派生类

#5


你#include了dlg类的。h文件了没?

#6


引用 5 楼 VisualEleven 的回复:
你#include了dlg类的。h文件了没?

已经包含了dlg.h啊

#7


//不是所有的编译器都能支持这种逻辑
if ((dialog != NULL) && ::IsWindow(dialog->m_hWnd))//error:指针不能指向不完整的类类型
==>
if ((dialog != NULL) 
{
  if(::IsWindow(dialog->m_hWnd)) //error:指针不能指向不完整的类类型
 {
。。。。。。。。
 }
}
else
{
dialog= new dlg(NULL); //
}

#8


dialog 你的这个初始化的时候没赋值NULL并且没有创建或创建失败了吧。

#9


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法