我使用以下内容在 cpp 而不是头文件中编写模板,因为我更喜欢保持代码干净。
在.hpp
template <class obj_class> void plotLaser(int zoom, void * obj);
在.cpp
class visualizer {...};
class annotator : public visualizer {...};
template void plotLaser<visualizer>(int zoom, void * obj) {...};
我可以使用模板调用plotLaser<annotator>(...);
还是必须重写它?