У меня есть шаблон, который вычисляет некоторые значения в соответствии с функцией, которую я передаю в качестве параметра. Однако не для каждой функции, которую я передаю шаблонам, нужны все параметры, вычисленные в шаблоне.
template<typename T>
int func(T function)
{
int a = 0; // some value computed in func
int b = 10; // another value computed in func
return function(a, b);
}
int main()
{
int res = func([](int a, int b)
{
// do somthing
return 0;
}
);
return 0;
}
Я хотел бы написать что-то вроде
int res2 = func([](int a) // needs only parameter a
{
// do somthing
return 0;
}
);
если функция нуждается только в одном из параметров, переданных шаблоном.
Как я могу определить количество параметров, которые функция должна передать шаблону для достижения этой цели?