QList<类>,使用的问题

想用QList来记录一个类Farm,程序如下:
List DatabaseUtilities::getAllFarms()
{
QList listFarm;
QSqlQuery query(QSqlDatabase::database(m_connName));
QString qs="select * from farms";
query.exec(qs);
while(query.next())
{
Farm *farm=new Farm();
farm->m_sName=query.value(1).toString();
farm->m_sAddr=query.value(2).toString();
farm->m_sNum=query.value(3).toString();
listFarm.append(*farm);
}
return listFarm;
}

class Farm : public QObject
{
Q_OBJECT
public:
explicit Farm(QObject *parent = 0);
QString m_sName;
QString m_sAddr;
QString m_sNum;
signals:
public slots:
private:
};
一直报错说Object是私有对象,请问,什么问题,怎么改?

List DatabaseUtilities::getAllFarms()
这个定义成public了么

http://www.kuqin.com/qtdocument/qobject-h.html

对比这个头文件看。。。