当我编译这段代码时,我有2个错误“对test :: setTest(int)的未定义引用”和“对test :: getTest()的未定义引用”。我不知道出了什么问题,我在arch linux中使用g ++编译器:
test.h
class test{
int i;
public :
void setTest(int);
int getTest();
};
TEST.CPP
#include<iostream>
#include"test.h"
void test :: setTest(int x){
i = x;
}
int test :: getTest(){
return i;
}
mainTest.cpp
#include<iostream>
#include"test.h"
using namespace std;
int main(){
test t;
t.setTest(5);
cout<< "the value of i is : "<<t.getTest();
}
答案 0 :(得分:1)
您没有同时编译这两个文件,因此输出可执行文件没有对类的方法的引用,只是在您的终端上执行:
g++ mainTest.cpp test.cpp -o mainTest
然后将其运行为:
./mainTest