关于类的使用问题 有两个类,一个是 功能类,普通C++类, 另一个是界面类,MFC类,继承自CPropertyPage在两个类中都有用到对方,可是当我在两个头文件中分别包含另一个类时,出现编译错误.请问怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个包含头文件另一个声明类就行了。如://a.h#include "b.h"//b.hclass a;class b{...}; 在PropertyPage内#include "CC.H"在CC.H内CC类定义的前面加了.class PropertyPage;错误如下:e:\MrCaoWorkSpace\SMSTestCaseGenerator\TypeDeliverPage.h(20): error C2057: expected constant expressione:\MrCaoWorkSpace\SMSTestCaseGenerator\TypeDeliverPage.h(20): error C2065: 'IDD_DIALOG_DELIVER' : undeclared identifier错误是出在界面类的那句:// Dialog Data enum { IDD = IDD_DIALOG_DELIVER }; 如果照ouyh12345的方法还不行,由说明你设计类的时候有个小问题:比如A、B两个类,A中有一个成员是B类实例,B中有个成员是A类实例。那么,在下面这样的代码中://b.hclass a;class b{private: a m_a;//出错};将出现错误,因为b类无法知道它的成员要多大空间,改用指针可以解决这个问题。 CEdit类为什么出现这种情况? vs2008运行后自动打开上一次所打开的文件 [急切求助]undefined RAS Dial Error 127 什么意思啊? 如何在对话框中加入视图类,来绘制图表 CEditView的切分问题 DirectX,OpenGL 是什么呀?是用于什么方面的呀? 怎么向ListBox中添加Check Box 如何把主窗体的参数传递给属性页,来者有分 关于文档重绘的问题! 这种MFC的界面如何实现? 关于用ofstream读写二进制文件的问题 AfxOleInit() 与 CFileDialog、 DCOM
另一个声明类就行了。如:
//a.h
#include "b.h"//b.h
class a;
class b
{
...
};
在CC.H内CC类定义的前面加了.class PropertyPage;错误如下:
e:\MrCaoWorkSpace\SMSTestCaseGenerator\TypeDeliverPage.h(20): error C2057: expected constant expression
e:\MrCaoWorkSpace\SMSTestCaseGenerator\TypeDeliverPage.h(20): error C2065: 'IDD_DIALOG_DELIVER' : undeclared identifier错误是出在界面类的那句:
// Dialog Data
enum { IDD = IDD_DIALOG_DELIVER };
比如A、B两个类,
A中有一个成员是B类实例,B中有个成员是A类实例。
那么,在下面这样的代码中:
//b.h
class a;
class b
{
private:
a m_a;//出错
};
将出现错误,因为b类无法知道它的成员要多大空间,
改用指针可以解决这个问题。