fatal error LNK1120: 8个无法解析的外部命令
这个问题的原因是有头文件,但是找不到实现。
有两个原因:1.只包含了头文件,只有这个函数的声明,没有包含这个函数的实现(实现一般放在cpp文件中的)。所以只能通过编译,连接不成功。
2.另一个原因是函数的声明和实现都放在头文件中了,一般要把声明放头文件中,实现放在cpp文件中。这样每个#include该头文件的文件都会有一份该函数的实现,连接的时候,连接器不知道连接哪一个实现,于是报错。
查了很多出现错误的示例,我都没有犯,最后在一个博客的评论中找到了原因:
模板的声明和实现必须都要写在头文件里面!!!