在尝试编译从delete where
{
?s ?p ?o .
?o a :Foo .
}
派生并覆盖QAbstractItemModel
函数的代码时遇到错误,尽管签名完全匹配。
以下代码对我而言失败:
data
,出现以下错误:
#include <QAbstractItemModel>
class A : public QAbstractItemModel
{
Q_OBJECT
public:
A();
virtual QVariant data(const QModelIndex &index, int role) const override;
};
这只是我使用的MinGW编译器有效时使用MS Visual C ++ 14.0的问题。
编辑:
C3668: 'A::data': method with override specifier 'override' did not override any base class methods
答案 0 :(得分:1)
您提供的方法签名正确。由于VC和MinGW的Qt安装都不相同,因此问题可能是由于VC版本中对QAbstractItemModel.h的不必要修改(例如,您在调试时不自觉地编辑了头文件)。
检查标题是否已修改,如果已修改,请从备份或其他安装(相同版本)中还原它。