c++ - 如何正确解决 "undefined reference to vtable"错误?

标签 c++ qt constructor vtable

我已经阅读了常见问题解答和其他几个关于此的网站,但我似乎找不到合适的解决方案。我很确定您之前已经听过这个问题,如果可能的话,我想就如何解决这个问题寻求具体帮助。

具体报错是: 错误:对“FGui 的 vtable”的 undefined reference 它始终指向 fgui.cpp 中的构造函数,但我没有发现它有任何问题。

FGui 是继承自名为“FFoo”的类的类,该类继承自QMainWindow。 相关代码:

(在 ffoo.h 中:)

class Ffoo : public QMainWindow
{
Q_OBJECT
public:
    Ffoo();
    ~Ffoo();
    (...)
};

(在 ffoo.cpp 中:)

Ffoo::Ffoo()
{
    textEdit = 0;
    tcpSock = 0;
    setupConnectBox();
}

Ffoo::~Ffoo()
{}

FGui文件还是很简单的,因为我最近才开始制作这个类。

(fgui.h:)

class FGui : public Ffoo
{
    Q_OBJECT
public:
    FGui();
    ~FGui();
};

(fgui.cpp:)

FGui::FGui() : Ffoo()
{}

FGui::~FGui()
{}

如果有人能告诉我如何解决这个问题,我将不胜感激。提前致谢。 :)

最佳答案

尝试重新运行 qmake。如果您使用 Qt Creator,请清理项目(Build/Clean All),然后选择 Build/Run qmake。在这种情况下,这通常会有所帮助。

关于c++ - 如何正确解决 "undefined reference to vtable"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4865021/

相关文章:

c++ - 搜索 vector 时出错?

c++ - QTreeView/QHeaderView 仅调整第一列的大小以拉伸(stretch)和交互

javascript - 我的上下文是在构造函数中定义的,而不是在函数中定义的。无法读取 HTMLCanvasElement.draw 处未定义的属性 'beginPath'

c++ - 为什么/何时自动刷新 cout 缓冲区?

c++ - macOS 塞拉利昂 : __textcoal__nt is deprecated

c++ - 从 C++ QML 类型访问 QML 根对象

c++ - 复制构造函数不是深度复制,错误返回数组为空

c++ - 使用构造函数返回

c++ - 为什么模板只能在头文件中实现?

c++ - Qt:使用 QPainter 渲染的垂直文本的抗锯齿