我和Qt创建者有一个奇怪的问题,我是Qt和C ++的新手,所以我不知道为什么会这样:
这是来自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
我真的迷失了这个:/ 感谢
答案 0 :(得分:1)
替换
void closeEvent(QCloseEvent *event)
void NotepadWindow::closeEvent(QCloseEvent *event)
如果NotepadWindow::
该函数不属于该类,并且编译器不知道您正在谈论的Funct
。
然后使用Funct执行相同的操作,将void Funct(void)
替换为void NotepadWindow::Funct(void)
,以便编译器知道您正在实现类的功能,而不是单独的无关函数。