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()'
为什么 ?
我究竟做错了什么 ?
这是链接器错误.您可能没有编译和链接所有必需的文件.它应该是例如:
$ g++ -Wall TEST.cpp TESTS.cpp -o TEST
Run Code Online (Sandbox Code Playgroud)
您还需要摆脱main()函数之一.