Template arguments can be deduced from the type specified when taking
the address of an overloaded function.
If there is a target,
the function template's function type and the target type
are used as the types of
P
and
A,
and the deduction is done as
described in [temp.deduct.type].
Otherwise, deduction is performed with empty sets of types P and A.