このテンプレート宣言を特化することが可能です:C++可変長引数テンプレートの特殊化(およびstatic_assert)
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);
正しい構文は何ですか?
多分それはあなたのコンパイラがちょうどこの答えのように、それをサポートしていないということだけだ。http://stackoverflow.com/questions/を7767202/template-specialization-with-variadic-templates?rq = 1? – Louen
どのコンパイラを使用しますか? ClangとMSVCはあなたのコードをコンパイルし、 'value'は42を保持します。 –