Можно специализироваться этот шаблон заявление:C++ VARIADIC специализация шаблона (и 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. –