Правильный синтаксис для шаблона функции с четным числом аргументов int?C++

Программы на C++. Форум разработчиков
Anonymous
Правильный синтаксис для шаблона функции с четным числом аргументов int?

Сообщение Anonymous »

При переписывании функции C с переменными аргументами в качестве шаблона функции я пытаюсь найти правильный синтаксис. xfun() должна быть функцией с двойным параметром, за которым следует четное число целых чисел. Что-то вроде:

Код: Выделить всё

#include 
#include 

double xfun (double)
{
return 0.0;
}

template
double xfun (double p, int t, int ex, int...)
{
return t * pow (p, ex) + xfun (p, xs...);
}

int main ()
{
// Expecting 0.0234
printf ("x = %f\n", xfun (0.1, 2,2, 3,3, 4,4));

// Expecting 0.56
printf ("x = %f\n", xfun (0.1, 5,1, 6,2));
}
Для меня очевидно, что код не может быть правильным, поскольку xfun ничего не делает с параметром int....
Я пробовал следовать примерам на cppreference.com: Packet Pack , в частности последнему, который делает подобные вещи. Хотя во всех примерах используются шаблонные типы, тогда как в моем примере все типы являются int, и я не уверен, что xfun вообще должен быть шаблоном, поскольку он не имеет ни типов в качестве аргумента шаблона, ни значений int в качестве аргументов шаблона.
Целью функции является вычисление

Код: Выделить всё

xfun = \sum_{k=1}^n t_k * p^{ex_k}
где n известно во время компиляции.


Подробнее здесь: https://stackoverflow.com/questions/798 ... -arguments

Вернуться в «C++»