我使用 Qt 4.6.3 为 FriendlyARM 编写应用程序。我正在尝试将 2 个指针(指向类axesParam1
和mainWin
)传递给当前类localTime
,但得到这些错误:
localtime.h:17:错误:“axesParam1”尚未声明 localtime.h:18:错误:'mainWin' 尚未声明 localtime.h:26:错误:ISO C++ 禁止声明没有类型的“axesParam1” localtime.h:26: 错误:预期 ';' 在“*”标记之前 localtime.h:27:错误:ISO C++ 禁止声明没有类型的“mainWin” localtime.h:27:错误:预期的“;” 在“*”标记之前 在 trackinputstatus.h:5 包含的文件中, 从trackinput.h:5, 来自 mainwin.h:8, 来自 geoparam.h:5, 从axesparam3.h:5, 从轴参数2.h:5, 从axesparam1.h:5, 来自 main.cpp:14: trackparamstatus.h:16: 错误: 'mainWin' 尚未声明 trackparamstatus.h:24:错误:ISO C++ 禁止声明没有类型的“mainWin” trackparamstatus.h:24: 错误: 预期 ';' 在“*”标记之前 main.cpp:在函数'int main(int,char**)'中: main.cpp:52: 错误: 没有匹配函数调用'localTime::setChildren(axesParam1*)' localtime.h:17:注意:候选人是:void localTime::setChildren(int*) main.cpp:61: 错误: 没有匹配函数调用'localTime::setHome(mainWin*)' localtime.h:18:注意:候选人是:void localTime::setHome(int*) main.cpp:62: 错误: 没有匹配函数调用'trackParamStatus::setHome(mainWin*)' trackparamstatus.h:16:注意:候选人是:void trackParamStatus::setHome(int*)
我没有宣布setChildern
接受int*
作为论据,那为什么还要坚持int*
呢?
我已经包含了头文件localtime.h
#ifndef 本地时间_H #define LOCALTIME_H #include <QWidget> #include "axesparam1.h" #include “mainwin.h” 命名空间 ui { 类本地时间; } 类本地时间:公共QWidget { Q_OBJECT 上市: localTime(QWidget *parent = 0); 〜本地时间(); 无效 setChildren(axesParam1 *); 无效 setHome(mainWin *); 受保护: 无效更改事件(QEvent *e); 私人的: ui::localTime *ui; 轴参数1 *P1; 主赢 *w; }; #endif // 本地时间_H