template必须定义于头文件中
最近在项目中遇到了一个奇怪的问题。
在程序中,A模块用到了一个模版函数,这个模版函数外部不需要调用,因此在*.cpp中定义并实现之。
编译的时候奇怪的现象发生了(VC6 sp5),在debug下,一切正常;在release下,在写这个模块的人那里可以正常编译且运行正常。可拿到我这来的时候,就编译不过了。我们几个师兄弟都没辙了,只能等老板来解决了。
“template必须定义于头文件中!”老板如是告诉我们。
试之,果不其然!
今日又看《C++标准程序库》,在p10页注释4,有记载:“目前template必须定义于头文件中....."。
项目中A模块使用的模板函数在*.cpp中定义实现,VC6 sp5编译时,debug下正常,release下编写者处正常,其他人处编译不过。老板指出‘template必须定义于头文件中’,尝试后问题解决,《C++标准程序库》也有相关记载。
319

被折叠的 条评论
为什么被折叠?



