Why can C++ deduce template arguments on the right side of an assignment operator from the left side?
Is this standard behavior? Yes it is. Template argument deduction also happens when you take the address of a function template (such as you do when assigning to or initializing a function pointer). It’s explicitly allowed in [temp.deduct.funcaddr]/1: Template arguments can be deduced from the type specified when taking the address of an overloaded function. … Read more