5
使用外部模板(C ++ 11)
图1:功能模板 TemplHeader.h template<typename T> void f(); TemplCpp.cpp template<typename T> void f(){ //... } //explicit instantation template void f<T>(); Main.cpp #include "TemplHeader.h" extern template void f<T>(); //is this correct? int main() { f<char>(); return 0; } 这是正确的使用方法extern template,还是仅将关键字用于类模板,如图2所示? 图2:类模板 TemplHeader.h template<typename T> class foo { T f(); }; TemplCpp.cpp template<typename T> …