【发布时间】:2011-12-07 16:58:58
【问题描述】:
template <size_t size, typename ...Params>
void doStuff(Params...) {
}
template <>
void doStuff<size_t(1), int, bool>(int, bool) {
}
int main(int, char**) {
doStuff<1,int,bool>(1, false);
return 0;
}
这不会编译,第二个 doStuff 声明给了我error: template-id ‘doStuff<1u, int, bool>’ for ‘void doStuff(int, bool)’ does not match any template declaration,但它显然匹配第一个声明和可变参数模板参数。
如何特化可变参数模板?
【问题讨论】:
标签: c++ templates c++11 template-specialization variadic-templates