Я пишу приложение Qt, которое сопоставляет класс C++ с объектом Javascript в QtWebkit. Сначала позвольте мне объяснить, что я пытаюсь сделать:
У меня есть класс, унаследованный от QObject:
class myobj : public QObject {
Q_OBJECT
public:
myobj();
~myobj();
pulbic slots:
void getData();
}
А в другом классе я попытался добавить экземпляры myobj в QVariantMap:
QVariantMap anotherClass::getObj() {
myobj* obj1 = new myobj();
myobj* obj2 = new myobj();
QVariantMap items;
items.insert(QString("0"), QVariant(*obj1));
items.insert(QString("1"), QVariant(*obj2));
return items;
}
И тут я получил следующую ошибку:
error: no matching function for call to ‘QVariant::QVariant(myobj&)’
Итак, я попытался добавить объявления:
Q_DECLARE_METATYPE(myobj);
Но я получил:
error: ‘QObject::QObject(const QObject&)’ is private
Любая идея об этом?