构造函数是私有的吗?

| C:/ Qt /.../ mymodel.h:-1: 在成员函数\'void MainWindow :: createModel()\'中: 错误:\'myModel :: myModel(QObject *)\'是私有的 错误:在这种情况下 mymodel.h:
#ifndef MYMODEL_H
#define MYMODEL_H

#include <QStandardItemModel>

class myModel : public QStandardItemModel
{
public:
    Q_OBJECT

    myModel(QObject *parent = 0);
};

#endif // MYMODEL_H
mymodel.cpp:
#include \"mymodel.h\"

myModel::myModel(QObject *parent) :
    QStandardItemModel(parent)
{

}
主窗口
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow();

private slots:
    ...

signals:
    ...

private:
    ...
    myModel *model;
};
mainwindow.cpp:
void MainWindow::createModel()
{
    model = new myModel(this);
谢谢。     
已邀请:
        首先,我要浏览SO寻找其他Qt问题,然后偶然发现下面的文档站点,以得出此猜测。 来自http://doc.qt.digia.com/4.5/qobject.html#Q_OBJECT   Q_OBJECT宏必须出现在类定义的专用部分中,该类声明声明其自己的信号和插槽或使用Qt的元对象系统提供的其他服务。 我猜你应该把它移到mymodel.h中的
public:
之前 这是我以前发现的SO帖子: Q_OBJECT宏做什么?为什么所有Qt对象都需要此宏?     

要回复问题请先登录注册