Files
2025-10-25 03:02:53 +03:00

51 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[over.match.call.general]
# 12 Overloading [[over]](./#over)
## 12.2 Overload resolution [[over.match]](over.match#call.general)
### 12.2.2 Candidate functions and argument lists [[over.match.funcs]](over.match.funcs#over.match.call.general)
#### 12.2.2.2 Function call syntax [[over.match.call]](over.match.call#general)
#### 12.2.2.2.1 General [over.match.call.general]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/overloading.tex#L362)
In a [function call](expr.call "7.6.1.3Function call[expr.call]")
[*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1General[expr.post.general]") ( [*expression-list*](expr.post.general#nt:expression-list "7.6.1.1General[expr.post.general]")opt )
if the [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1General[expr.post.general]") names at least one function or
function template,
overload resolution is applied as specified in [[over.call.func]](over.call.func "12.2.2.2.2Call to designated function")[.](#1.sentence-1)
If the [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1General[expr.post.general]") denotes an object of class type, overload
resolution is applied as specified in [[over.call.object]](over.call.object "12.2.2.2.3Call to object of class type")[.](#1.sentence-2)
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/overloading.tex#L373)
If the [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1General[expr.post.general]") is the address of an overload set,
overload resolution is applied using that set as described above[.](#2.sentence-1)
[*Note [1](#note-1)*:
No implied object argument is added in this case[.](#2.sentence-2)
— *end note*]
If the function selected by overload resolution is
an implicit object member function,
the program is ill-formed[.](#2.sentence-3)
[*Note [2](#note-2)*:
The resolution of the address of an
overload set in other contexts is described in [[over.over]](over.over "12.3Address of an overload set")[.](#2.sentence-4)
— *end note*]