C++模板类的成员函数定义与声明必须在一个头文件中

时间:2022-02-09 10:00:40

今天编写数组链表的程序,出现了一个问题,我在ArrayList.h中定义了一个模板类ArrayList,然后按照原来的习惯,在另一个源文件ArrayList.cpp中对模板类的成员函数进行定义,编译也通过了,但是当我在main函数对模板类进行实例化时,编译器报错,显示为成员函数undefined,就是说我的成员函数未定义,这就让我纳闷了。

我试着将构造函数的定义移到头文件里去,再编译,运行,成功,这次不说我的构造函数未定义了,改说其他没有移动到头文件的函数是undefined的,我大概明白这是什么意思了,于是上网百度。

得说法如下,呵呵,大家都是姿势水平很高的人,我就不翻译了,有C++基础的应该都能看懂:

C++模板类的成员函数定义与声明必须在一个头文件中