Qt信號和插槽錯誤:未定義的引用`vtable for function'

只有繼承了QObject類或QObject的子類,才具有信號槽的能力。

class A: public QObject
{
    Q_OBJECT
public:
    A();
    virtual ~A();

signals:
    void Signal_Function();

public slots:
    void Slot_Function();
};

繼承了QObject類或QObject的類,都應該在第一行代碼寫上Q_OBJECT。

如果你最開始沒有加,編譯後又加了,就會出現錯

undefined reference to `vtable for A::Signal_Function'
undefined reference to `vtable for A::Slot_Function'

這個時候刪除所有編譯產生的文件,然後重新構建和編譯(注意:只是點擊重新構建按鈕是不行的)

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章