据说模板类和模板函数的声明和定义要写在同一个文件。
不然编译会出现“未定义的引用”。
其实是有解决方法的。
模板类
template class CNNConvLayer<double>;就是
template class className<typeName>;模板函数
template void poolBackPropForKernal<double>(double*, double*, int, int, double*, double*);就是
template void functionName<typeName>(args);同理,如果是cuda的核函数
template __global__ void blockDot<double>(double*, double*, double*, int);参考资料:
http://www.zhihu.com/question/20630104
C++ 中的模板类声明头文件和实现文件分离后,如何能实现正常编译?
http://en.cppreference.com/w/cpp/language/function_template
Function template
本文解答了C++中模板类和模板函数声明与定义不在同一文件时,编译出现‘未定义的引用’的问题,并提供了解决方法。
1944

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



