Как вызвать шаблонную функцию без указания шаблонного типа
#include <utility>
#include <iostream>
template<typename T, typename... Args>
auto sum(T (*F) (T, const T &), Args&&... args)
// -> decltype(F(std::forward<Args>(args)...)) // for 11
{
return F(std::forward<Args>(args)...);
}
int main()
{
auto func = [](int a, int const& b) { return a += b; };
int i = 4;
// sum<int>(func, i, 2); // так будет работать
sum(func, i, 2); // но нужно, чтобы работало так
std::cout << i << std::endl;
return 0;
}