implicit instantiation of undefined template 'QList'

问题:

创建了两个自定义类: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'
};

增加引用后的DataScore.h:

#include "ScoreInfo.h"
#include 

class DataSource
{

public:
    DataSource();

private:
    QList<ScoreInfo> m_data;		// 没有错误提示了
};
总结:

不知道造成这个问题的原因是什么,百度也没有任何收获。记录在此供参考,如果谁能解释,不胜感谢!

你可能感兴趣的:(Qt,c++)