[over.load] (original) (raw)

12 Overloading [over]

12.2 Overloadable declarations [over.load]

Not all function declarations can be overloaded.

Those that cannot be overloaded are specified here.

A program is ill-formed if it contains two such non-overloadable declarations in the same scope.

[ Note

:

This restriction applies to explicit declarations in a scope, and between such declarations and declarations made through ausing-declaration.

It does not apply to sets of functions fabricated as a result of name lookup (e.g., because ofusing-directives) or overload resolution (e.g., for operator functions).

end note

]

Certain function declarations cannot be overloaded:

[ Note

:

As specified in [dcl.fct], function declarations that have equivalent parameter declarations and requires-clauses, if any ([temp.constr.decl]), declare the same function and therefore cannot be overloaded:

end note

]