c++模板类/模板函数的声明与定义应该放在头文件里

c++模板类/模板函数的声明与定义应该放在头文件里,不要分开来写类中函数的声明与定义(比如在.H文件里声明某个成员函数,在.CPP文件里定义该成员函数),这样会导致连接错误。所应该将模板类/模板函数的定义与声明写在一个.h文件里。

比如

在类的头文件声明了一个函数 template<typename T> void fun(T a);

然后在另一个CPP 文件里 实现该函数

template<typename T> void fun(T a)

{

/*函数实现*/

}

 

这样就会报错,

解决的办法只能是在声明的时候直接实现函数,不要再把函数实现写在另一个CPP文件里,不过这样看起来结构很乱就是了。

你可能感兴趣的:(c++模板类/模板函数的声明与定义应该放在头文件里)