我在调用 QT Creator 中不同类中的函数时遇到问题。
在这里,在主类 mainWindow.cpp
中,我从 studentsearcher.cpp
调用了一个函数
这是用户按下按钮时发生的功能,问题出在这个
void MainWindow::on_FindButton1_clicked(){
StudentSearcher searchStudent;
searchStudent.exec();
searchStudent.search_id(55); // <---- the problem
}
这会产生以下 2 条错误消息:
1.undefined reference to StudentSearcher::search_id(int)
2.collect2: ld returned 1 exit status
这是 StudentSearcher.h 文件的一部分:
class StudentSearcher : public QDialog
{
Q_OBJECT
public:
explicit StudentSearcher(QWidget *parent = 0);
void search_id(int idNum);
~StudentSearcher();
private slots:
private:
Ui::StudentSearcher *ui;
这里是studentSearcher.cpp中函数的定义
void search_id(int idNum){
int idNumber = idNum;
}
我已经尝试解决这个问题很长时间了,我已经尝试了一些非常愚蠢的事情,比如:searchStudent.exec(search_id(55));
并认为它行不通,因为我认为 .exec() 是构造函数部分......抱歉,我对编码和 QT 有点笨,但......我似乎无法理解找出如何让这个愚蠢的东西工作。我已经尝试了很多东西,但无济于事......
最佳答案
您的 search_id 实现是一个免费函数。你需要让它成为一个成员函数:
void StudentSearcher::search_id(int idNum){
int idNumber = idNum;
}
关于c++ - Qt Creator,调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10033582/