2015-03-02 112 views
-1

林有一個奇怪的問題,Qt Creator的,進出口新的Qt和C++,所以我不知道爲什麼發生這種情況:Qt Creator的問題的closeEvent

這是mainwindow.cpp:

void closeEvent(QCloseEvent *event) 
{ 
    Funct(); 
    event->ignore(); 
} 

void Funct(void) 
{ 
    return; 
} 

而且這是從mainwindow.h:

#include </*Stuff*/> 
#include <QCloseEvent> 

class NotepadWindow : public QMainWindow 
{ 
    Q_OBJECT 

    public: 
     NotepadWindow(QWidget *parent = 0); 
     ~NotepadWindow(); 

    protected: 
     void closeEvent(QCloseEvent *event); 

    private: 
     void Funct(); 
    /*More stuff*/ 
}; 

和錯誤:

D:\Users\...\notepadwindow.cpp:480: error: C3861: 'Funct': cannot find identifier 

我真的失去了這一點:/ 感謝

回答

1

更換 void closeEvent(QCloseEvent *event)

void NotepadWindow::closeEvent(QCloseEvent *event)

沒有NotepadWindow::該函數不是類的一部分,編譯器不知道是什麼Funct你在說什麼。

然後對Funct進行相同的操作,將void Funct(void)替換爲void NotepadWindow::Funct(void),以便編譯器知道您正在實現類的函數,而不是單獨的無關函數。

+0

哦,謝謝!!,真的,這真是一個非常愚蠢的錯誤 – Ediolot 2015-03-02 19:07:24

+1

@ user291252如果這就是你所需要的,隨時接受答案。 – tux3 2015-03-02 19:11:21