模板编程的文件组合方式

来源:互联网 发布:数控车床g84攻牙编程 编辑:程序博客网 时间:2024/06/02 05:29

            在模板编程时,当你出现error:Link2019,在main中出现无法解析的现象时。

       由于模板的实例化发生在第一次使用模板的地方。而实例化是以模板定义的代码来参照的。这样一来就要求模板定义与模板使用同在一个编译单元(源文件)。既然使用模板首先需要模板声明,而且模板定义要求在使用模板同一个编译单位中,因此一般做法是将模板的整个定义都放在头文件内。如果是类模板,需要将类模板定义和成员函数一并写在一个头文件。否则编译时会出现无法解析的错误。当然也可以使用分离方式,将类模板定义和实现分别写在头文件(.h)和定义文件(.cpp)中,但是在模板声明和模板定义的template字前面要加上关键字 export,不过此种方法到目前还不是很成熟,很少有编译器实现

1 0