如何从Qt中的类调用方法?

时间:2018-07-18 13:52:39

标签: c++ qt

我在qt中创建了一个类,以下代码是标题:

#ifndef TEST_H
#define TEST_H


class Test {
public:
    Test();
    void coppy(int zahl);
};

#endif // TEST_H

方法在.cpp文件中初始化:

#include "test.h"

int tata;
Test::Test()
{
}

void coppy(int zahl)
{
    tata = zahl;
}

当我按下这样的按钮时,我想在第二类中调用coppy方法:

void MainWindow::on_pushButton_2_clicked()
{
    Test *t = new Test();
    t->coppy(5);
}

但是我总是收到以下错误:未定义对`Test :: coppy(int)'的引用

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

void Test::coppy(int zahl)
{
    tata = zahl;
}

它必须在您的cpp文件中。

我建议您将int tata设为班级成员

答案 1 :(得分:1)

void coppy(int zahl)在.cpp文件中定义了一个新功能。编译器看不到此函数与Test的{​​{1}}函数之间的任何关系。要定义coppy成员函数,您需要使用完整的成员名,包括class的名称。尝试以下方法:

class