[temp.deduct.funcaddr] (original) (raw)

13 Templates [temp]

13.10 Function template specializations [temp.fct.spec]

13.10.3 Template argument deduction [temp.deduct]

13.10.3.3 Deducing template arguments taking the address of a function template [temp.deduct.funcaddr]

Template arguments can be deduced from the type specified when taking the address of an overload set.

If there is a target, the function template's function type and the target type are used as the types ofPandA, and the deduction is done as described in [temp.deduct.type].

Otherwise, deduction is performed with empty sets of types P and A.

A placeholder type ([dcl.spec.auto]) in the return type of a function template is a non-deduced context.

If template argument deduction succeeds for such a function, the return type is determined from instantiation of the function body.