gpt4 book ai didi

c++ - QObject 的多重继承

转载 作者:行者123 更新时间:2023-11-30 04:19:40 24 4
gpt4 key购买 nike

我想继承QObject和另外一个类,报错:`EduGraph 的 vtable' 的 undefined reference 我已经阅读了一些关于它的线程并修复了类定义中继承类的顺序,但它没有解决问题。

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();
};

最佳答案

`Undefined reference to `vtable for...'` 

通常是未实现的虚函数的标志。确保您已经实现(定义)了相应的您从基类继承的虚函数

例如,这会给你同样的错误,因为 B 中的 print 方法没有实现。

class A {
public:
virtual void print() = 0;
};

class B : public A{
public:
void print();
};

int main()
{
B b;
}

关于c++ - QObject 的多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15719940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com