在c++中,分文件创建模板函数时,会出现无法解析的外部命令的错误,如图所示:
根本原因在于,模板函数在编译时是不会加载,因此在链接时编译器无法识别模板类型,解决方法有两个:
1.将函数声明与实现都写在一起,习惯把这个文件命名为.hpp后缀(就在.h文件里实现也可以)
2.直接在main函数处包含.cpp文件也可以解决(此时注意避免头文件重复包含而引起的重定义问题)
在c++中,分文件创建模板函数时,会出现无法解析的外部命令的错误,如图所示:
根本原因在于,模板函数在编译时是不会加载,因此在链接时编译器无法识别模板类型,解决方法有两个:
1.将函数声明与实现都写在一起,习惯把这个文件命名为.hpp后缀(就在.h文件里实现也可以)
2.直接在main函数处包含.cpp文件也可以解决(此时注意避免头文件重复包含而引起的重定义问题)