我创建了两个类:ClassA和ClassB,头文件分别为classA.h和classB.h
在ClassA中,我include了classB.h,在ClassB中,我也include了classA.h,结果导致了ClassA(一个对话框类)不识别它的对话框的IDD,
就是“enum { IDD = IDD_SERVER_DIALOG”这句话报错,“error:undeclared identifier”和“expected constant expression”
如果去掉其中的一个include头文件,就一切正常了
请问,怎么解决啊?多谢!!!
在ClassA中,我include了classB.h,在ClassB中,我也include了classA.h,结果导致了ClassA(一个对话框类)不识别它的对话框的IDD,
就是“enum { IDD = IDD_SERVER_DIALOG”这句话报错,“error:undeclared identifier”和“expected constant expression”
如果去掉其中的一个include头文件,就一切正常了
请问,怎么解决啊?多谢!!!
解决方案 »
- 怎么写界面库?
- 控件创建
- 帮忙详细注释下,急用……!!!!!!!
- 我写了一个让学生使用的控件,放在网页上,用户访问这个网页时候,会出来IE的安全提示,是因为我这个控件是属于"对没有标记为安全的ActiveX控件"进行禁用(IE安全设置里面的一个选项),所以每次学生访问时候都要设置下IE安全设置,这样比较麻烦.如何让我的控
- 怎样实现程序对摄相头上按钮的响应?
- 一个十分奇怪的情况!!
- 求教VC 6.0 调用 VB6.0写的一个ActiveX DLL,急!急!急!
- 请问如何注册控件并调用、???谢谢
- 来者有分,我的程序为什么在编译连接的时候特别慢,就象死机一样,但是运行起来后也没有什么症状,程序大概有6万行代码,高手指点能告知
- 急急急!!!.....如何设置过滤条件?
- 消息申明位置问题。请问!
- 谁能告诉我VC中调用外部程序的命令行处理方法
如
class classA;
class ClassB
{
//ClassB类};
行不行?
#include "resource.h"
#include "classA.h"
class classB : public....class classB;
class classA :public....
所以,如果在一个头文件中引用了另一个类,如果不需要类定义,就只用简单的声明。
class A
class B
{
A* m_pa; //不需要A的定义,不用包含头文件
A m_a //需要A的定义,要包含头文件
};
#ifndef _CLASSA_H_
#define _CLASSA_H_#include "classb.h"
class classB;
class classA
{
//...
}
#endif//classB.h
#ifndef _CLASSB_H_
#define _CLASSB_H_#include "classa.h"
class classA;
class classB
{
//...
}
#endif
class B
{
A m_a //需要A的定义,要包含头文件
};
不过bluebohe(薄荷)的方法是可以的,能给解释一下吗?多谢