【1】模板类的声明与定义
最近在编写模板类时发现一个问题:
当把模板类分开为 .h声明文件 和 .cpp实现文件时,在模板类的main文件使用模板功能时,编译结果完全正确,却无法链接成功。
注意:编译各个文件均完全无误,当链接成执行程序时候报错,报错信息为无法链接到被调用函数!
但是,如果把main放到.cpp文件中就没有任何问题,或者把 .cpp 和 .h 文件放在一起也没有问题。
于是摸索着学习,解决问题有两种方式:
1. 在调用模板类时引入其.cpp实现文件
2. 将模板类的.cpp实现文件全部写进.h中
【2】为什么?
请参见文章《为什么C++编译器不能支持对模板的分离式编译》
Good Good Study, Day Day Up.
顺序 选择 循环 总结