编译错误:2574:<entity>必须在首次使用 () 之前显式专用化<entity>

Compiling error: 2574: explicit specialization of <entity> must precede its first use (<entity>)

本文关键字:lt gt entity 专用 2574 错误 编译      更新时间:2023-10-16

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

"access/qnetworkrequest_p.h",第 94 行:错误:#2574:类"QTypeInfo>"的显式专用化必须在其首次使用之前(在"../../include/QtCore/../../src/corelib/tools/qlist.h") 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);

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

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

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

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