'QObject :: QObject'不能访问在'QObject'类中声明的私有成员, [英] 'QObject::QObject' cannot access private member declared in class 'QObject'

查看:329
本文介绍了'QObject :: QObject'不能访问在'QObject'类中声明的私有成员,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  class CHIProjectData:public QObject 
{
public:
CHIProjectData();
CHIProjectData(QMap< QString,QString> aProjectData,
CHIAkmMetaData * apAkmMetaData = 0,
QObject * parent = 0);
private:
QMap< QString,QString> m_strProjectData;
CHIAkmMetaData * m_pAkmMetaData;
};

CHIProjectData :: CHIProjectData(QMap< QString,QString> aProjectData,
CHIAkmMetaData * apAkmMetaData,
QObject * aParent)

QObject
{
m_strProjectData = aProjectData;
m_pAkmMetaData = apAkmMetaData;
}

为什么它给'QObject :: QObject'在类'QObject'中声明的错误?

解决方案

向CHIProjectData类添加一个复制构造函数。 b $ b

class CHIProjectData : public QObject
{
public:
    CHIProjectData();
    CHIProjectData(QMap<QString,QString> aProjectData,
                   CHIAkmMetaData* apAkmMetaData = 0,
                   QObject* parent = 0);
private:
    QMap <QString,QString> m_strProjectData;
    CHIAkmMetaData* m_pAkmMetaData;
};

CHIProjectData::CHIProjectData(QMap<QString,QString> aProjectData,
                               CHIAkmMetaData* apAkmMetaData,
                               QObject* aParent)
    :
    QObject(aParent)
{
        m_strProjectData = aProjectData;
        m_pAkmMetaData = apAkmMetaData;
}

Why does it give the "'QObject::QObject' cannot access private member declared in class 'QObject'" error?

解决方案

Adding a copy constructor to CHIProjectData class did the trick.

这篇关于'QObject :: QObject'不能访问在'QObject'类中声明的私有成员,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆