MFC对话框什么找不到析构函数?自己定义又提示错误“已定义”。。。。急

 我来答
mayong1024
2012-12-21
知道答主
回答量:3
采纳率:0%
帮助的人:4635
展开全部
因为由于不在头文件中声明析构函数,编译器会自动生成一个析构函数;我觉得你的问题是因为你没有在头文件中声明析构函数,而直接在cpp文件定义了析构函数。由于头文件中没有声明,编译器已经帮你定义了一个了,你再次定义时,就会出错,显示函数体已经存在了。
jiangtaohu123
2012-11-03
知道答主
回答量:20
采纳率:0%
帮助的人:14.4万
展开全部
你在dialog的.h文件 的构造函数声明后加上 析构函数声明 ,
在相应的dialog的cpp的文件中加入 析构函数的定义就可以了

eg :public:~ CWorkerDlg(); //.h文件中

CCWorkerDlg::~CWorkerDlg() //.cpp文件中
{
//......
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
peacexf
2012-10-31 · TA获得超过293个赞
知道小有建树答主
回答量:476
采纳率:100%
帮助的人:401万
展开全部
CWorkerDlg::~CWorkerDlg你用这个在cpp文件里找一下看看有没有重复的。
看看头文件里是不是这么写的
~CWorke(){}
追问
绝对木有
追答
头文件的东西贴一下吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pzhlkj6612
2018-03-17 · TA获得超过658个赞
知道小有建树答主
回答量:289
采纳率:75%
帮助的人:145万
展开全部

你的对话框类继承于CDialogEx类,CDialogEx类继承于CDialog类,CDialog类中有:

virtual ~CDialog();

所以你在对话框类头文件里声明析构函数,再在源文件里写实现就好,如同另外的答案所说:网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2012-10-31 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5736万
展开全部
"MFC对话框什么找不到析构函数"这句话对应的错误信息原文是什么?不明白你意思
追问
error C2084: function '__thiscall CWorkerDlg::~CWorkerDlg(void)' already has a body
追答
那是说已经重复定义了一个函数,你说“找不到”是在哪看到得?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式