У меня есть класс, определенный как:
cdataentry.h:
#ifndef CDATAENTRY_H
#define CDATAENTRY_H
#include <QObject>
#include <QString>
#include <QVariant>
#include <QtOpcUa>
#include <QMetaType>
#include <cnodetype.h>
#include <cdatastatus.h>
/**
* @brief A class providing data and methods to describe a single OPCUA ua
* node in the user input table.
*/
class CDataEntry : public QObject
{
Q_OBJECT
public:
CDataEntry(const QString& np, QObject* parent = nullptr);
~CDataEntry();
QString nodePath() const;
private:
/**
* @brief Obsolute path to the node on the MDE server
*/
const QString m_nodePath;
};
Q_DECLARE_METATYPE(CDataEntry); // to be able to store it in QVariant.
#endif // CDATAENTRY_H
Я пытаюсь сохранить объект QList<CDataEntry>
в QVariant
. Для этого я предоставил Q_DECLARE_METATYPE(CDataEntry);
Проблема в том, что код не компилируется, что я получаю:
error: no matching function for call to 'QVariant::QVariant(QList<CDataEntry>&)'
Что мне здесь не хватает?