C++模板函数声明定义分离编译错误详解(二)

2014-11-24 03:11:45 · 作者: · 浏览: 9
QAEAAV0@ABV0@@Z)
1>Vec_example.obj : error LNK2001: 无法解析的外部符号 "private: void __thiscall Vec::create(void)" ( create@ $Vec@H@@AAEXXZ)
1>Vec_example.obj : error LNK2001: 无法解析的外部符号 "private: void __thiscall Vec::uncreate(void)" ( uncreate@ $Vec@H@@AAEXXZ)
1>Vec_example.obj : error LNK2001: 无法解析的外部符号 "private: void __thiscall Vec::unchecked_append(int const &)" ( unchecked_append@ $Vec@H@@AAEXABH@Z)
1>Vec_example.obj : error LNK2001: 无法解析的外部符号 "private: void __thiscall Vec::grow(void)" ( grow@ $Vec@H@@AAEXXZ)
1>E:\360data\重要数据\我的文档\Visual Studio 2008\Projects\Accelerated\Debug\Accelerated.exe : fatal error LNK1120: 5 个无法解析的外部命令
1>生成日志保存在“file://e:\360data\重要数据\我的文档\Visual Studio 2008\Projects\Accelerated\Accelerated\Debug\BuildLog.htm”
1>Accelerated - 6 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

上面问题不知道怎么解决,就开始google解决方案: 模板不支持分离编译, 把你模板类的声明和实现放到.h文件里面 。按照这个说的把.h和.cpp文件合并后,果然可以了。