【发布时间】:2014-11-18 23:09:30
【问题描述】:
大家好,我有一个 foo 类
foo.h 中的代码
namespace GUI
{
class Foo : public QObject
{
Q_OBJECT
public:
explicit Foo(QObject *parent = 0);
virtual ~Foo();
....
};
}
现在这工作和编译正常,但我想使用 QSettings 保存这个自定义 c++ 类,其中一个步骤是使用 Q_DECLARE_METATYPE 注册你的类
因此,我一放这条线
Q_DECLARE_METATYPE(Foo)
在我的 foo.h 文件的末尾,我得到这些编译器错误 C2248:'QObject::Qobject':cannot access private member 在类 'QObject' 中声明,单击它时只会将我带到我的 connection.h 头文件的最后一行并且没有提供关于可能出现什么问题的其他信息,即错误指向我
Class Foo
{
};<---- point me here
Q_DECLARE_METATYPE(Foo)
我知道 QObject 不能被复制,这与它有关,但我不知道这里可能有什么问题以及如何纠正它。 提前致谢
【问题讨论】:
标签: qt qobject qmetaobject