C++ 编译错误:2574:显式专门化<;实体>;必须在首次使用之前(<;实体>;)

C++ 编译错误:2574:显式专门化<;实体>;必须在首次使用之前(<;实体>;),c++,templates,armcc,C++,Templates,Armcc,使用armcc4.1编译我的代码时,它会报告以下错误: “access/qnetworkrequest_p.h”,第94行:错误:#2574:类“QTypeInfo>”的显式专门化必须在首次使用之前(在“../../include/QtCore/../../src/corelib/tools/qlist.h”的第105行) Q_DECLARE_TYPEINFO(QNetworkHeadersPrivate::RawHeaderPair,Q_MOVABLE_TYPE) class QNetwork

使用armcc4.1编译我的代码时,它会报告以下错误:

“access/qnetworkrequest_p.h”,第94行:错误:#2574:类“QTypeInfo>”的显式专门化必须在首次使用之前(在“../../include/QtCore/../../src/corelib/tools/qlist.h”的第105行) Q_DECLARE_TYPEINFO(QNetworkHeadersPrivate::RawHeaderPair,Q_MOVABLE_TYPE)

class QNetworkHeadersPrivate
{
public:
    typedef QPair<QByteArray, QByteArray> RawHeaderPair;
    typedef QList<RawHeaderPair> RawHeadersList;
...
};

Q_DECLARE_TYPEINFO(QNetworkHeadersPrivate::RawHeaderPair, Q_MOVABLE_TYPE);
类QNetworkHeadersPrivate
{
公众:
类型DEF QPair RawHeaderPair;
typedef QList RawHeaderList;
...
};
Q_DECLARE_TYPEINFO(QNetworkHeadersPrivate::RawHeaderPair,Q_MOVABLE_TYPE);

但是,有没有办法禁用或绕过此错误?

我将尝试修改头文件的包含顺序。

我将尝试修改头文件的包含顺序。

在未声明元素类型之前不要执行列表操作。定义在宏之后执行此操作的任何成员函数体

在未声明元素类型之前不要执行列表操作。定义在宏之后执行此操作的任何成员函数体

回答我的问题:最后通过删除最后一行来修复,因为这个声明是多余的

回答我的问题:最后通过删除最后一行来修复,因为这个声明是多余的