-1

我使用以下内容在 cpp 而不是头文件中编写模板,因为我更喜欢保持代码干净。

将 C++ 模板函数定义存储在 .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>(...);还是必须重写它?

4

1 回答 1

0

我认为你需要重新编写它。因为你的代码

    template void plotLaser<visualizer>(int zoom, void * obj) {...};

是一门专业。

如果你需要一个注释器,你需要一个专门化的。

于 2012-12-14T16:56:20.513 回答