以下是引用kai在2006-3-5 20:23:00的发言:
zinking,
因为你的类中用到了Template,所以函数的定义必须写在header file 中,没有别的办法。
zinking,
因为你的类中用到了Template,所以函数的定义必须写在header file 中,没有别的办法。
对,这儿说得好。
引用《C++编程思想》中的话:但模板定义很特殊。在template<...>之后的任何东西都意味着编译器在当时不为它分配储存空间,而是一直等到被一个模板事例告知。
而且在编译器和连接器中有机制能去掉一个模板的多重定义。
所以为了使用方便通常把模板声明和定义都放在头文件里。
我想也可以把他们分开放,但前者方便省事点。
for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever