当前位置:   article > 正文

Qt报错:XXX does not name a type,及解决办法_qt does not name a type

qt does not name a type

一、错误

Qt报错:XXX does not name a type

二、报错原因

在两个类的头文件中,相互引用了对方的头文件

例如:

  1. //a.h
  2. #include "b.h"
  3. class AClass
  4. {
  5. AClass();
  6. private:
  7. BClass b;
  8. }
  1. //b.h
  2. #include "a.h"
  3. class BClass
  4. {
  5. BClass();
  6. private:
  7. AClass a;
  8. }

三、解决办法

a.h文件修改为:

  1. //a.h
  2. #include <QApplication>
  3. class BClass;
  4. class AClass
  5. {
  6. AClass();
  7. private:
  8. BClass a;

然后在a.cpp里面添加:

  1. //a.cpp
  2. #include "b.h"

同理,b.h也修改为这样:

  1. //b.h
  2.  
  3. #include <QApplication>
  4.  
  5. class AClass;
  6.  
  7. class BClass
  8. {
  9.     BClass();
  10.  
  11. private:
  12.     AClass a;
  13. }

在b.cpp中包含a.h:

  1. //b.cpp
  2.  
  3. #include "a.h"

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/966613
推荐阅读
相关标签
  

闽ICP备14008679号