我来自C#背景,仍然对c++和Qt智能指针有所了解。这应该是一个基本问题:
在myClass.h中
QSharedPointer<AccessFlags> m_flags;
在myClass.cpp中,我试图设置(设置正确的单词?)m_flags指针
if(m_flags.isNull())
m_flags = new AccessFlags();
class AccessFlags{
public:
QHash<QString,int> flags;
AccessFlags(); //The dictionary is setup in the constructor
};
编译器抱怨“没有匹配'operator ='。
如何设置指针?
最佳答案
您正在尝试将原始指针分配给该行中的QSharedPointer
m_flags = new AccessFlags();
您可能想要类似
m_flags = QSharedPointer<AccessFlags>(new AccessFlags);
关于c++ - 设置QSharedPointer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13243356/