mfc获取对话框指针的问题
定义了一个外部类class A,然后主对话框拥有class A的一个实例,
假设class A需要同时获取主对话框指针,我在class A定义一个指针CMyDialog* pDlg;然后包含头文件CMyDialog.h
但是编译的时候总是出现一大堆错误,说CMyDialog语法错误,会不会是头文件互相包含造成的,搞了半天也没解决
[解决办法]
你的CMyDialog.h是放在class A的头文件里了吧?比如说A.h
然后你的CMyDialog里有一个成员叫A a的,这时你要在CMyDialog的头文件里包含A.h
的确是互相包含,耦合了,这样是无法编译的
[解决办法]
应该在头文件中使用向前引用,不要包含头文件,例如你前面说的修改成这样:
1、class A的头文件中类定义前面加上
class CMyDialog;
2、在class A的类中定义成员指针:
CMyDialog* pDlg;
3、在class A的实现文件A.cpp文件中包含CMyDialog的头文件
#include "MyDialog.h"
这样就可以避免相互包含的问题了,希望能对你有所帮助