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;不出现错误。
这是为什么?!
在线等,很急! 展开
在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;不出现错误。
这是为什么?!
在线等,很急! 展开
4个回答
展开全部
(1)Core.h 中 #include 12Dlg.h ,(2)12Dlg.h中#include Core.h
在包含头文件#include 12Dlg.h 时,也就是在定义Core之前就开始
Core core ; //这时还没有给出定义 懂了吗?
问题是再定义Core的完整定义给出前不能使用对象Core core;
只能使用指针或引用,这是个常识。
在包含头文件#include 12Dlg.h 时,也就是在定义Core之前就开始
Core core ; //这时还没有给出定义 懂了吗?
问题是再定义Core的完整定义给出前不能使用对象Core core;
只能使用指针或引用,这是个常识。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我不是很明白你要干什么。为什么要在Core.h添加#include “12Dlg.h”
你的Core类是什么类?对话框类?一般MFC的基础应用里,类的h头文件不需要添加什么额外的东西,主要还是添加在APP文件里。
你的Core类是什么类?对话框类?一般MFC的基础应用里,类的h头文件不需要添加什么额外的东西,主要还是添加在APP文件里。
追问
Core是C++类。
至于在Core类中添加#include “12Dlg.h”是因为在12Dlg.h中有个tree-view control,我想在Core.cpp中使用在这个控件,能够显示相应的处理结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题我知道怎么解决,已私信。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码发过来看下q_orange1@163
更多追问追答
追问
已发,请注意查收。
追答
你这两个类没有任何关系,不可以这么互相的嵌套。
至于你说的树控件问题,可以在core里面定义变量,然后通过调用变量来进行赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询