Есть класс DataSignal, который я наследую от QObject, также есть класс Generator, который использует объекты этого класса, т.е. есть у генератора метод, который должен возвращать объект класса DataSignal. Но при компиляции выдается следующая ошибка:
- call to implicitly-deleted copy constructor of 'DataSignal'
- copy constructor of 'DataSignal' is implicitly deleted because base class 'QObject' has a deleted copy constructor
Класс сигналов
#ifndef DATASIGNAL_H
#define DATASIGNAL_H
#include <QObject>
#include <QVector>
class DataSignal : public QObject
{
Q_OBJECT
public:
explicit DataSignal(QObject *parent = 0);
QVector <double> getData();
QVector <double> getTimeScale();
private:
QVector <double> data;
QVector <double> timeScale;
signals:
void dataChanged(QVector <double> data);
void timeScaleChanged(QVector <double> data);
void cleared();
public slots:
void setData(QVector <double> data);
void setTimeScale(QVector <double> timeScale);
void clear();
};
#endif // DATASIGNAL_H
В свою очередь, наш генератор наследуется от абстрактного класса
#include <QObject>
#include "datasignal.h"
class AbstractGenerator : public QObject
{
Q_OBJECT
public:
explicit AbstractGenerator(QObject *parent = 0);
signals:
void signalIsGenerated(DataSignal *signal);
public slots:
};
Сам класс генератора
#include "abstractgenerator.h"
#include "filtercore.h"
class DiscreteGenerator : public AbstractGenerator
{
public:
DiscreteGenerator();
public slots:
DataSignal generateSimpleSignal(/*some params*/);
};
А здесь, в *.cpp файле, возникает ошибка:
DataSignal DiscreteGenerator::generateSimpleSignal(/*some params*/){
DataSignal signal;
/*something happens*/
return signal;
}
Помогите, люди добрые!