第一次编写一个模板类,习惯性地将类声明写在.h文件, 方法的实现写在.cpp 文件中。运行时却报了链接错误:
错误 LNK1120 1 个无法解析的外部命令
上网查询了之后才发现,模板类是不支持接口实现与分离的。所有的实现都应该写在.h文件中。
仔细想想,模板类是要在运行时才会根据用户的数据类型生成相关的代码,但是cpp 文件在编译时就已经生成了相关的obj,所以两者是矛盾的。
网上还有一些强行分离的方法,我感觉都不太好,所以没贴上来。
第一次编写一个模板类,习惯性地将类声明写在.h文件, 方法的实现写在.cpp 文件中。运行时却报了链接错误:
错误 LNK1120 1 个无法解析的外部命令
上网查询了之后才发现,模板类是不支持接口实现与分离的。所有的实现都应该写在.h文件中。
仔细想想,模板类是要在运行时才会根据用户的数据类型生成相关的代码,但是cpp 文件在编译时就已经生成了相关的obj,所以两者是矛盾的。
网上还有一些强行分离的方法,我感觉都不太好,所以没贴上来。