Я пытаюсь использовать функцию шаблона с переменным числом аргументов, где пакет параметров не является последним параметром в списке. Обратите внимание, что есть два рекурсивных вызова: один отбрасывает параметр перед пакетом, а другой вызов отбрасывает параметр после пакета.
- Мой компилятор выглядит следующим образом: Apple LLVM версии 8.1.0 (clang-802.0.42)
- Все int ниже будут новым параметром шаблона T, если я смогу заставить это работать.
Нет смысла использовать ..., если сайт вызова Blender не может быть чистым. В этом случае я мог бы просто расширить несколько перегрузок Blender. Я действительно предпочел бы не прибегать к этому. Надеюсь, я просто что-то упускаю.
int Blender( double t, int i)
{
return i;
}
template <typename ...Args>
int Blender( double t, int first, Args... more, int last)
{
return (1-t)*Blender(t, first, more...) + t*Blender(t, more..., last);
}
static void tryit()
{
Blender(.5, 23, 42, 89); //doesn't compile
}