我想繼承QObject和另一個類,並得到一個錯誤: 'vtable for EduGraph'未定義的參考' 我已經讀過一些關於它的線程並修復了類中繼承類的順序定義,但它沒有解決問題。與QObject的多繼承
class EduGraph : public QObject, public Graph<Vertex<ENode, EEdge>*> {
private:
std::list<Vertex<ENode, EEdge>*>::iterator firstSel;
std::list<Vertex<ENode, EEdge>*>::iterator secSel;
public:
Q_OBJECT
EduGraph() : firstSel(0), secSel(0) {}
~EduGraph();
void NewNode(const QPoint& p);
void RemoveNode();
void Associate();
void Dissociate();
signals:
void VertexSelected();
void VertexDeSelected();
};
您確定需要多重繼承嗎?從上面的代碼中,使用組合看起來會起作用(即在你的類中有一個'Graph <...>'成員,而不是從它繼承)。 – Mat
[未定義的Qt引用vtable]可能的重複(http://stackoverflow.com/questions/15656902/undefined-reference-to-vtable-in-qt) –
此外,[C++未定義引用vtable和繼承]( http://stackoverflow.com/questions/9406580/c-undefined-reference-to-vtable-and-inheritance) –