MFC里新建了一个对话框程序,有了一个对话框类,我在里面自定义了一个C++类。互相添加头文件后出错了。

我用的是VS2010,MFC里新建了一个对话框程序(基于对话框,名称为12),然后就有了一个对话框类C12Dlg,我在里面自定义了一个C++类(一个.h一个.cpp)(名... 我用的是VS2010,MFC里新建了一个对话框程序(基于对话框,名称为12),然后就有了一个对话框类C12Dlg,我在里面自定义了一个C++类(一个.h一个.cpp)(名称Core)
在Core.h中添加#include 12Dlg.h,编译出错,于是又添加了#include"resource.h",没错了
在12Dlg.h中添加了#include Core.h,没出错,在class 12Dlg{} 添加了Core core; 又出错了,不知道为什么?错误如下:
1>e:\vs2010-workspace\12\12\12dlg.h(37): error C2146: 语法错误: 缺少“;”(在标识符“core”的前面)
1>e:\vs2010-workspace\12\12\12dlg.h(37): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>e:\vs2010-workspace\12\12\12dlg.h(37): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

全部指向的是Core core;这一行。

要是我不在Core.h中添加C12Dlg.h的头文件,而在C12Dlg.h添加Core.h头文件,调用Core core;不出现错误。
这是为什么?!
在线等,很急!
展开
 我来答
hyqok800
2014-04-16
知道答主
回答量:13
采纳率:0%
帮助的人:8.9万
展开全部
(1)Core.h 中 #include 12Dlg.h ,(2)12Dlg.h中#include Core.h
在包含头文件#include 12Dlg.h 时,也就是在定义Core之前就开始
Core core ; //这时还没有给出定义 懂了吗?
问题是再定义Core的完整定义给出前不能使用对象Core core;
只能使用指针或引用,这是个常识。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
air0zero
2014-04-16 · TA获得超过2212个赞
知道小有建树答主
回答量:940
采纳率:100%
帮助的人:1071万
展开全部
我不是很明白你要干什么。为什么要在Core.h添加#include “12Dlg.h”
你的Core类是什么类?对话框类?一般MFC的基础应用里,类的h头文件不需要添加什么额外的东西,主要还是添加在APP文件里。
追问
Core是C++类。
至于在Core类中添加#include “12Dlg.h”是因为在12Dlg.h中有个tree-view control,我想在Core.cpp中使用在这个控件,能够显示相应的处理结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牵著猪看日出
2014-04-22
知道答主
回答量:4
采纳率:0%
帮助的人:5.2万
展开全部
这个问题我知道怎么解决,已私信。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunnyMiracle14
2014-04-16 · TA获得超过198个赞
知道小有建树答主
回答量:824
采纳率:0%
帮助的人:454万
展开全部
代码发过来看下q_orange1@163
更多追问追答
追问
已发,请注意查收。
追答
你这两个类没有任何关系,不可以这么互相的嵌套。

至于你说的树控件问题,可以在core里面定义变量,然后通过调用变量来进行赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式