Я пытаюсь использовать QList, настраиваемый класс (class Edge: publi c QGraphicsLineItem), но когда я использую .append или что-то еще, я получаю ошибки компиляции
call to implicitly-deleted copy constructor of 'Edge'
current->v = new T(*reinterpret_cast<T*>(src->v));
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Graphboard. cpp
void GraphBoard::createEdge()
{
Edge newEdge(item1,item2);
edges.append(newEdge);
}
В моем GraphBoard.h
QList<Edge> edges;
Возможно, мне стоит использовать * ребра здесь, но я получаю ту же ошибку ...
I ' m делает что-то не так с пользовательским классом и QList. Я уже видел этот topi c Вызов неявно удаленного конструктора копирования , но я действительно не знаю, что я могу с этим сделать.
Вот определение края, я удаляю неиспользуемые вещи:
#include <QObject>
#include <QWidget>
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsItem>
class Edge:public QGraphicsLineItem
{
QGraphicsEllipseItem * state1;
QGraphicsEllipseItem * state2;
public:
enum { Type = UserType + 2 };
int type() const override;
Edge(QGraphicsEllipseItem * s1, QGraphicsEllipseItem* s2);
QList<QPointF> centerPoints();
};