各位大佬,这两种写法有什么区别?

亭台六七座 2021-05-16 11:58:38
各位大佬,这两种写法有什么区别?

#include <QThread>
class QThread;

有时候 只 使用 #include,提示找不到类
...全文
846 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
远方Alan 2021-05-22
  • 打赏
  • 举报
回复
一楼回复的很好
mideum 2021-05-17
  • 打赏
  • 举报
回复
#include <QThread>导入了完整的QThread头文件,包含类定义,就是整个类结构
class QThread;只是个声明,告诉编译器有这么个类,至于这个类是什么样的完全不知道
在创建指针变量和引用变量时,有声明就可以了,但是如果要创建一个实例,必须有完整类定义
一般情况下,如果#include里面有类定义的话,下面是不用再声明的
如果#include里面有类定义还提示找不到类很可能是出现了两个自定义类的头文件互相include的情况
在这种情况下自己判断一下哪个头文件里有实例哪个只有指针或引用,把其中一个的#include从头文件转移到cpp文件,在头文件里只留一个声明

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧