A *function call operator function*
is a function named operator()
that is a member function with an arbitrary number of parameters.

It may have default arguments.

For an expression of the form
where the *postfix-expression* is of class type,
the operator function
is selected by overload resolution ([over.call.object]).

If a surrogate call function is selected,
let e be the result of invoking the corresponding conversion operator function on the *postfix-expression*;

the expression is interpreted as
Otherwise, the expression is interpreted as