我正在使用Qt小部件开发一个应用程序。
在我的头文件中,我喜欢转发声明类,而不是包含它们。在头文件的开头,我提出了如下声明:
class QFile;
class QDate;
class QTime;并且,类中有如下函数声明:
static bool addGoldTransaction(QFile *transactionsFile, Gold goldType, OperationType transactionType, float price, float amount, QDate date, QTime time);当我试图编译时,它会出现一个错误,如下所示:
forward declaration of 'class QDate'
in definition of macro 'QT_FORWARD_DECLARE_STATIC_TYPES_ITER'
in expansion of macro 'QT_FOR_EACH_STATIC_CORE_CLASS'
In file included from moc_transaction.cpp:9:0:
error: initializing argument 6 of 'static bool addGoldTransaction(QFile*, Gold, OperationType, float, float, QDate, QTime)'其他Qt相关类的前向声明没有错误。
包括QDate头文件解决了这个问题,但我想知道:
QDate类,而不抱怨其他类呢?与这个问题相关的QDate类有什么特别之处吗?QDate类?发布于 2017-12-23 01:50:43
通过引用传递QDate和QTime类型的6和7个参数( QDate&和QTime& ),或者通过const引用、const QDate&和const QTime&传递更高的参数。
https://stackoverflow.com/questions/47948981
复制相似问题