关于函数模版编译出现链接错误
来源:互联网 发布:怎么打开淘宝网址链接 编辑:程序博客网 时间:2024/06/05 02:59
问题在于分离编译,将类.h与.cpp分离编译便会出错产生如此的错误 (编译不出错链接出错):
Test.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall Tree<int>::~Tree<int>(void)" (??1?$Tree@H@@UAE@XZ)
查资料说是链接实体在多个文件链接时产生多义错误,解决方法就是将定义与实现写在一起(构造函数与析构函数别忘加”{}”)
多数编译器不支持类模板分离编译,所以类模板直接在声明时定义就不会出现上述错误了
凡是形如此类的错误基本都是因为函数定义出问题
.h与.cpp分离编译,mian函数只include了.h而没有.cpp有时也会出现如上的错误
所以如果出现上述错误就先检查类中函数在定义上是否出现问题
------------------------------------------------------------------------------------------------------------------------------------
在书的附录处发现有方法进行类模板分离编译:
在.cpp文件中如此书写即可:
template <typename Obj>
Hen<Obj>::Hen()
{ ... }
特别的,即使在模板被实例化时也没有被扩展,只有每个成员函数被调用时才会扩展
0 0
- 关于函数模版编译出现链接错误
- VS编译Qt时若主函数为wmain时出现链接错误,找不到main入口函数
- 编译uboot出现链接错误--原因
- 关于模版类编译出现unresolved external symbol的问题
- 关于keil 自定义链接脚本 编译错误
- C++中模板类使用友元模板函数 和友员非模版函数!使用不当出现编译错误:无法解析的外部符号…
- 关于编译内核出现错误的解决方法
- 命令行编译链接,出现LNK2019错误,怎样解决?
- VS2005编译WM5时出现__GSHandlerCheck链接错误
- 转载:VS2005编译WM5时出现__GSHandlerCheck链接错误
- Qt在VC6.0下编译出现链接错误
- 利用VC++6.0编译以及链接常出现错误
- C-Free 编译链接lib 出现错误的解决方案
- C++函数模版分离编译
- 编译链接常见错误
- VC++ 编译链接错误
- 编译链接错误
- 常见编译链接错误
- Fragment生命周期(add,replace,息屏等情况)
- KMP——BZOJ3670/Luogu2375 [Noi2014]动物园
- QT多线程中的互斥与同步
- JZOJ5012. 远行
- rxjava2 结合retrofit2进行业务封装
- 关于函数模版编译出现链接错误
- Shell 教程
- WebService代码
- Java中有关this的一个问题
- MongoDB实战
- 概念模型和关系模型
- 单向链表反转(倒置)问题
- Android开发之深入理解Android 7.0系统权限更改相关文档
- 求日期的前一天