Я получаю эту ошибку в моем файле реализации smtdplugin, когда пытаюсь вернуть значение. Итак, я понимаю, что создаю указатель на QAction, и когда я пытаюсь его вернуть, я не могу этого сделать, потому что мой метод ожидает ссылку на объект. Но я не знаю, как действовать (я начинающий)
Как избежать этой проблемы? и с успехом вернуть этот объект
#include "smtdplugin.h"
QAction SmtdPlugin::newItem() {
QAction *item = new QAction(NULL);
return item; // here i get error
}
Q_EXPORT_PLUGIN2(smtdplugin,SmtdPlugin);
Заголовочный файл:
#ifndef SMTDPLUGIN_H
#define SMTDPLUGIN_H
#include <QObject>
#include <QAction>
#include "smtdinterface.h"
class SmtdPlugin : public QObject,SmtdInterface {
Q_OBJECT
Q_INTERFACES (SmtdInterface)
public :
QAction newItem();
};
#endif // SMTDPLUGIN_H
Класс интерфейса:
#ifndef SMTDINTERFACE_H
#define SMTDONINTERFACE_H
#include <QAction>
class SmtdInterface {
public:
virtual ~SmtdInterface() {}
SmtdInterface();
virtual QAction newItem () = 0;
};
Q_DECLARE_INTERFACE(SmtdInterface,"com.trololo.Plugin.SmtdInterface/1.0")
#endif