模板分离编译的话,编译器会报错,这种错误属于链接错误。
模板函数不能直接编译成二进制文件,我们需要一个“实例化”的过程。
只有调用这个模板,才能够实例化。
而当实例化一个模板时,编译器必须看到模板的确切定义,不只是声明。
所以解决办法有两种:
(1)在模板定义的cpp中显式实例化,例如:template class CArray<int>;
(2)将声明定义放在同一个文件中。
模板分离编译的话,编译器会报错,这种错误属于链接错误。
模板函数不能直接编译成二进制文件,我们需要一个“实例化”的过程。
只有调用这个模板,才能够实例化。
而当实例化一个模板时,编译器必须看到模板的确切定义,不只是声明。
所以解决办法有两种:
(1)在模板定义的cpp中显式实例化,例如:template class CArray<int>;
(2)将声明定义放在同一个文件中。