函数模板不支持分离编译,那么怎么处理多重定义呢?
我用的vs2010,函数模板定义在头文件中,可是当有两个文件包含这个头文件就会出现多重定义的错误,请问如何解决啊,谢谢了!
[解决办法]
你的头文件没有用#progama once这样的指令么
[解决办法]
一般应该不会有这类问题。
只是要注意函数模版全特化同普通函数。
[解决办法]
1、可以使用内联特化等方法,比如:
template<>inline void cu_test<const char*>(const char *test,const char *correct, const char *file_name,const int line_cnt){ ......}