我使用 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