Can C++ deduce argument type from default value? [duplicate]
The type of a template parameter in a function can’t be deduced from a default argument. As shown in the example on cppreference.com: Type template parameter cannot be deduced from the type of a function default argument: template<typename T> void f(T = 5, T = 7); void g() { f(1); // OK: calls f<int>(1, 7) … Read more