首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

模板种中的函数实现为什么找不到

2012-07-28 
模板类中的函数实现为什么找不到各位大虾,小女看到的模板类中函数只有在.h文件中声明,找不到模板函数的实

模板类中的函数实现为什么找不到
各位大虾,小女看到的模板类中函数只有在.h文件中声明,找不到模板函数的实现,这是为什么?

[解决办法]
因为模板不能分离编译。google刘未鹏的"为什么c++编译器不支持模板的分离编译"
[解决办法]
模板是不允许分离编译的,模板函数和定义要在同一个文件中
[解决办法]
好好找找,一定有的
[解决办法]
如果真的是这样,多半是故意阻止你用的。比如说某个类不允许拷贝:

template < int v >
class A
{
public:
 ...

private:
 A(const A &);
 A & operator = (const A &);
};
最下面两个函数故意不给实现(其实给不给都没什么用),这样当你写出这样的代码:
A<1> o1, o2;

...
o1 = o2; // 这里编译不让过。
编译就通不过的,从而防止你这样用。

热点排行