遇到一个非常头疼的问题,好在在下面这边文章中找到了灵感,解决了问题。
https://www.cnblogs.com/VVingerfly/p/6124917.html
我将模板类写在了两个文件里面,找了半天错误没发现原因。但是读了上面链接的文章,突然恍然大悟。
如果将类模板的声明和实现写在两个独立的文件中,在构建时会出现“error LNK2019: 无法解析的外部符号 ”的错误。
解决方法有:
- 第一种方法,就是把类模板中成员函数的声明和定义都放在类的定义中(.h文件),不要分开就行。
- 第二种方法,在主文件(main文件)中既包含类模板的声明文件(接口文件)(.h文件),同时也包含类模板的实现文件(.cpp文件)就行了。
- 第三种方法,在类的定义中(.h文件)的最后包含类模板的实现文件(.cpp文件)。
我采用了第一条就解决了该错误。苦恼了许久的问题得到了解决,感谢前辈们的无私奉献。