遇到的问题有两种情况。

一个是static没初始化。
一个是模板类实现和定义分开写。

这里主要记录一下模板类实现和定义分开写报错的问题(都放在.h文件中就不会报错)

自己尝试用“传统”方法,及在.h文件里声明,在.cpp文件里定义,然后在main函数里包含.h头文件,这样会报链接错误。

这是因为函数模板要被实例化后才能成为真正的函数,在使用函数模板的源文件中包含函数模板的头文件,如果该头文件中只有声明,没有定义,那编译器无法实例化该模板,最终导致链接错误。

解决办法
方法0、实现和声明写在一个文件
方法1、 在main函数里包含.cpp
方法2、在实现的.cpp文件中显式实例化模板对象。

参考链接 https://blog.csdn.net/qq_41230365/article/details/80207819