Template arguments can be deduced from the type specified when taking
the address of an overloaded function ([over.over]).
The function template's function type and the specified type
are used as the types of
P
and
A,
and the deduction is done as
described in [temp.deduct.type].