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

“undefined reference to”c++ template

2010-11-27 20:15 267 查看
You need to use the
export


keyword. However, I don't think G++ has proper support, so you need to include the template function's definition in the header so the translation unit can use it. This is because the
<int>


'version' of the template hasn't been created, only the
<typename T>


'version.'

An easy way is to
#include


the .cpp file. However, this can cause problems, e.g. when other functions are in the .cpp file. It will also likely increase the compile time.
A clean way is to move your template functions into its own .cpp file, and include that in the header
or

use the
export


keyword and compile it separately.
c++中template不支持声明和实现分别放在不同的文件中。可以通过include cpp文件解决这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: