J'ai une classe qui est une sous-classe de QObject que je souhaite enregistrer en tant que méta-type. Le QObject documentation indique que le constructeur de copie doit être privé, mais le QMetaType documentation indique qu'un type doit avoir un constructeur public par défaut, un constructeur de copie publique et un destructeur public.Sous-classe de QObject, qRegisterMetaType et le constructeur de copie privée
Je peux remplacer le constructeur de copie privée de QObject et déclarer un constructeur de copie publique, mais est-ce sûr/ok/right?
class MyClass : public QObject {
Q_OBJECT
public:
MyClass();
MyClass(const MyClass &other);
~MyClass();
}
Q_DECLARE_METATYPE(MyClass);
La façon dont je fini par aller est d'utiliser QSharedPointer (Qt 4.5 et plus). Q_DECLARE_METATYPE (QSharedPointer) –
darkadept