The function declarations found by name lookup ([basic.lookup]
) constitute the
set of candidate functions.
Because of the rules for name lookup, the set of candidate functions
consists (1) entirely of non-member functions or (2) entirely of
member functions of some class
In case (2), the argument list is the
in the call augmented by the addition of an implied object
argument as in a qualified function call.
If the current class is, or is derived from, T
, and the keyword
) refers to it,
then the implied object argument is (*this).
a contrived object of type
becomes the implied object argument;
if overload resolution selects a non-static member function,
the call is ill-formed.