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

关于C++模板的链接错误问题

2014-09-15 22:48 225 查看
     好久不用C++了,前几天写了一个模版,按以前的习惯,把定义写在头文件中, 把实现写在cpp文件中。结果在编译的时候没有发生错误,但在连接的时候出现了找不到xxx的错误。一时之间不知道该怎么办才好,后来上网一查,自己再一想,唉,原来如此:

     模版之所以为模版,就是可以容纳不同的类型嘛,所以它只有在指定了其类型的时候才会生成实际的代码,如果你只把模版的定义写在头文件中,那么你生成在使用模版的时候就只会有声明的定义部分,而没有其具体的实现,所以链接器在连接时会报错。

    解决的办法有两个:

     1. 把模版的声明和实现都写在一个头文件中,然后用的时候包含这个头文件。

     2. 如果你已经把它们分开了,比如说xxx.h xxx.cpp。那也好办,只好在使用的时候#include “xxx.h” #include “xxx.cpp”即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 模板