【发布时间】:2013-02-08 09:49:43
【问题描述】:
我需要在 c++ 中专门化一个函数模板。
template<typename T>
void doStuff<T>() {}
到
template<>
void doStuff<DefinedClass>();
和
template<>
void doStuff<DefinedClass2>();
我猜这不是正确的语法(因为它没有编译)。我该怎么做?
另外,由于我在doStuff<DefinedClass> 中没有未定义的模板参数,是否可以在.cpp 中声明主体?
注意:doStuff 将在其主体中使用 T 来声明变量。
【问题讨论】:
-
当你说“它没有编译”时,你应该包括相关的错误信息。
-
template<typename T> void doStuff<T>() {}是否首先编译(我认为这<T>无效)。
标签: c++ templates specialization