Qt 不承认声明的类
Posted
技术标签:
【中文标题】Qt 不承认声明的类【英文标题】:Qt not recognising declared class 【发布时间】:2013-08-14 22:12:08 【问题描述】:我使用 Qt 4.6.3 为 FriendlyARM 编写应用程序。我正在尝试将 2 个指针(指向类 axesParam1
和 mainWin
)传递给当前类 localTime
,但出现这些错误:
我没有声明setChildern
接受int*
作为参数,那它为什么坚持int*
?
我已经包含了头文件localtime.h
【问题讨论】:
您是否将localtime.h
包含在axesparam1.h
或mainwin.h
中?
@thuga 我在 main.cpp 中使用它。我认为当 cpp 文件未扩展/实现时,声明的头文件(因此声明的类)仅限于单个 cpp 文件。还是我错过了什么?
如果axesparam1.h
包含localtime.h
,由于.h
文件开头的#ifndef
行将跳过声明。这就是为什么我要求您检查axesparam1.h
是否包括localtime.h
。
@thuga 那么当我需要多个班级的班级时该怎么办?
你使用前向声明。您可以从您的localtime.h
中删除axesparam1.h
和mainwin.h
包含,并转发声明这些类。然后将这些标题包含在您的 localtime.cpp
文件中。 This should be a good read.
【参考方案1】:
你看起来太低了。在查看 setChildern 之前,您应该查看 axesparam1 和/或 mainwin。
localtime.h:17:错误:“axesParam1”尚未声明 localtime.h:18: 错误:'mainWin' 尚未声明
你之前有一些语法错误。 setChildern 只是一些后续错误。
【讨论】:
以上是关于Qt 不承认声明的类的主要内容,如果未能解决你的问题,请参考以下文章