我在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)'的引用
我在做什么错了?
答案 0 :(得分:1)
void Test::coppy(int zahl)
{
tata = zahl;
}
它必须在您的cpp文件中。
我建议您将int tata设为班级成员
答案 1 :(得分:1)
void coppy(int zahl)
在.cpp文件中定义了一个新功能。编译器看不到此函数与Test
的{{1}}函数之间的任何关系。要定义coppy
成员函数,您需要使用完整的成员名,包括class
的名称。尝试以下方法:
class