赞
踩
一、错误
Qt报错:XXX does not name a type
二、报错原因
在两个类的头文件中,相互引用了对方的头文件
例如:
- //a.h
- #include "b.h"
-
- class AClass
- {
- AClass();
-
- private:
- BClass b;
- }
- //b.h
-
- #include "a.h"
-
- class BClass
- {
- BClass();
-
- private:
- AClass a;
- }
三、解决办法
a.h文件修改为:
- //a.h
-
- #include <QApplication>
-
- class BClass;
-
- class AClass
- {
- AClass();
-
- private:
- BClass a;
然后在a.cpp里面添加:
- //a.cpp
- #include "b.h"
同理,b.h也修改为这样:
- //b.h
-
- #include <QApplication>
-
- class AClass;
-
- class BClass
- {
- BClass();
-
- private:
- AClass a;
- }
在b.cpp中包含a.h:
- //b.cpp
-
- #include "a.h"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。