51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
[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.3 Function call [expr.call]")
|
||
|
||
[*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1 General [expr.post.general]") ( [*expression-list*](expr.post.general#nt:expression-list "7.6.1.1 General [expr.post.general]")opt )
|
||
|
||
if the [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1 General [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.2 Call to designated function")[.](#1.sentence-1)
|
||
|
||
If the [*postfix-expression*](expr.post.general#nt:postfix-expression "7.6.1.1 General [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.3 Call 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.1 General [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.3 Address of an overload set")[.](#2.sentence-4)
|
||
|
||
â *end note*]
|