Как вызвать шаблонную функцию без указания шаблонного типа

#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;
}

Ответы (0 шт):