c++ - Qt Creator,调用一个函数

标签 c++ qt qt-creator

我在调用 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/

相关文章:

c++ - std::async 的奇怪行为

c++ - QObject* 和 void* 之间的转换

qt - "var"和 "variant"是同一件事吗?

c++ - QT 获取 DateTime 的 jpeg exif 元数据

qt - 在 Qt Creator 中关闭闪烁的光标

qt-creator - 在 Qt Creator 的项目侧边栏 Pane 中显示当前文件

c++ - 在QT中为MacO和Windows创建安装程序的过程

c++ - 我可以获得适用于任何数字类型的模板化均匀分布生成器吗?

c++ - int vector 可以创建的最大整数项数

c++ - qt中什么时候应该将子对象声明为其父类的成员变量?