- 编译使用了模板函数的程序出错,提示模板函数 undefined reference … 找不到函数实现的错误信息 ? (注:模板函数声明和实现分别在 “.h” 和 “.cpp” 文件中。)
原因(摘自网络):这个并非编译器的BUG,这是编译器本身是故意这么实现的。模板类独立的cpp中的类型未知,所以不知道怎么分配内存等操作,因此无法编译生成出独立的目标文件。
解决方法:
1、模板函数(类)声明与实现放在同一文件中,有时候有可能为了满足某种需要会把头文件和源文件分开,但是目前而言就我所知大部分的编译器还不支持模板类头文件和源文件分离。
2、如果非要把头文件和实现文件独立出来,那么您在使用模板类的时候直接# include “template.cpp”。
C++模板函数 学习记录
最新推荐文章于 2024-10-31 19:25:29 发布