对基础构造函数的未定义引用

Joh*_*man 1 c++ inheritance undefined-reference

可能重复:
G ++ Cpp中的"未定义引用"

我有这个标题

#ifndef TEST_H_
#define TEST_H_

class TEST
{
public :
    TEST();
};


#endif /* TEST_H_ */
Run Code Online (Sandbox Code Playgroud)

和这个标题

#ifndef TESTS_H_
#define TESTS_H_
#include "TEST.h"

class TESTS : public TEST
{
public :
    TESTS();
};


#endif /* TESTS_H_ */
Run Code Online (Sandbox Code Playgroud)

我实现了这样的标题:

#include <iostream>
using namespace std;
#include "TEST.h"
TEST:: TEST()
{
}
int main(int argc, char **argv) {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

还有这个:

#include "TESTS.h"

TESTS :: TESTS() : TEST()
{
}


int main(int argc, char **argv) {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到了以下错误:

/tmp/cc4jN1HN.o:在函数TESTS::TESTS()': TESTS.cpp:(.text+0xd): undefined reference toTEST :: TEST()'

为什么 ?

我究竟做错了什么 ?

Pau*_*l R 6

这是链接器错误.您可能没有编译和链接所有必需的文件.它应该是例如:

$ g++ -Wall TEST.cpp TESTS.cpp -o TEST
Run Code Online (Sandbox Code Playgroud)

您还需要摆脱main()函数之一.