您的位置:首页 > 编程语言 > C语言/C++

VS 2013 C++ 类模板定义与实现 进行分离

2016-10-09 17:06 656 查看
最近在看C++类模板的定义与实现,在按照正常的类的流程进行分离时发现“LNK2019: 无法解析的外部符号”这个错误。

解决方案:

1. 如果坚持使用分离的方法解决,可以在main.cpp中的include “template_class.h”要修改成"template_class.cpp",就不会出现上述错误。

2. 此外可以把模板的定义和实现都放到一个头文件(.h)中,之后再在main.cpp中使用,也不会有问题。

我查找了很多资料,发现,出现这个问题的原因是:

   一:在VS中,因为C++标准明确表示,当一个模板不被用到的时候它就不应该被实例化出来(可点击链接查看详情);

二:此外,目前VS中不支持export
template<class T>形式,不知道未来会不会支持,也有网友指出“现在没有未来也不一定有的说法”;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ VS 类模板