老是选择性地忘记 c++ 的一个扰人特性:模板头文件与实现文件不能像正常头文件与实现文件:引用头文件即可使用。如果仅仅引用模板头文件,在使用模板方法处链接报错。
这是因为,头文件只是给出了头文件的声明,调用处引入了头文件也仅仅只是引入了声明,此时,模板方法的特化没有定义,所以会报链接错。
比较简单的做法是将模板实现放在头文件中。
另外的正确的姿势可以搜索:“模板头文件与实现文件分离”。
老是选择性地忘记 c++ 的一个扰人特性:模板头文件与实现文件不能像正常头文件与实现文件:引用头文件即可使用。如果仅仅引用模板头文件,在使用模板方法处链接报错。
这是因为,头文件只是给出了头文件的声明,调用处引入了头文件也仅仅只是引入了声明,此时,模板方法的特化没有定义,所以会报链接错。
比较简单的做法是将模板实现放在头文件中。
另外的正确的姿势可以搜索:“模板头文件与实现文件分离”。