问题:
创建了两个自定义类:ScoreInfo 和 DataSource,在DataSource中通过QList使用ScoreInfo类时提示错误信息:
implicit instantiation of undefined template 'QList’
解决方法:
在DataSource中增加QObject头文件引用。
代码展示:
ScoreInfo.h
class ScoreInfo
{
public:
ScoreInfo();
ScoreInfo( QString id, QString name, int score );
ScoreInfo( const ScoreInfo &obj );
ScoreInfo& operator=( const ScoreInfo &obj );
QString id() const;
QString name() const;
int score() const;
private:
QString m_id;
QString m_name;
int m_score;
};
DataSource.h
#include "ScoreInfo.h"
class DataSource
{
public:
DataSource();
private:
QList<ScoreInfo> m_data; // 提示:implicit instantiation of undefined template 'QList<ScoreInfo>'
};
增加引用后的DataScore.h:
#include "ScoreInfo.h"
#include <QObject>
class DataSource
{
public:
DataSource();
private:
QList<ScoreInfo> m_data; // 没有错误提示了
};
总结:
不知道造成这个问题的原因是什么,百度也没有任何收获。记录在此供参考,如果谁能解释,不胜感谢!