【发布时间】:2016-07-12 22:13:33
【问题描述】:
是否可以专门化这个模板声明:
template <class TYPE, class... ARGS> TYPE Foo(ARGS... args) {
static_assert(false);
}
我尝试了一些方法,例如:
template <> int Foo<int>(float args) {
return 42;
}
...但是当我尝试这样使用它时,我总是点击静态断言:
auto value = Foo<int>(1.5f);
正确的语法是什么?
【问题讨论】:
-
也许只是你的编译器不支持它,就像在这个答案中一样:stackoverflow.com/questions/7767202/… ?
-
您使用哪个编译器? Clang 和 MSVC 会编译你的代码,
value持有 42。
标签: c++ templates variadic-templates