From Jason Turner

[over.call]

Diff to HTML by rtfpessoa

tmp/tmp0cduzv4t/{from.md → to.md} RENAMED
@@ -1,22 +1,24 @@
1
  ### Function call <a id="over.call">[[over.call]]</a>
2
 
3
  A *function call operator function* is a function named `operator()`
4
- that is a non-static member function with an arbitrary number of
5
- parameters. It may have default arguments. For an expression of the form
6
 
7
  ``` bnf
8
  postfix-expression '(' expression-listₒₚₜ ')'
9
  ```
10
 
11
  where the *postfix-expression* is of class type, the operator function
12
  is selected by overload resolution [[over.call.object]]. If a surrogate
13
- call function for a conversion function named `operator`
14
- *conversion-type-id* is selected, the expression is interpreted as
 
 
15
 
16
  ``` bnf
17
- postfix-expression '.' operator conversion-type-id '('')' '(' expression-listₒₚₜ ')'
18
  ```
19
 
20
  Otherwise, the expression is interpreted as
21
 
22
  ``` bnf
 
1
  ### Function call <a id="over.call">[[over.call]]</a>
2
 
3
  A *function call operator function* is a function named `operator()`
4
+ that is a member function with an arbitrary number of parameters. It may
5
+ have default arguments. For an expression of the form
6
 
7
  ``` bnf
8
  postfix-expression '(' expression-listₒₚₜ ')'
9
  ```
10
 
11
  where the *postfix-expression* is of class type, the operator function
12
  is selected by overload resolution [[over.call.object]]. If a surrogate
13
+ call function is selected, let e be the result of invoking the
14
+ corresponding conversion operator function on the *postfix-expression*;
15
+
16
+ the expression is interpreted as
17
 
18
  ``` bnf
19
+ e '(' expression-listₒₚₜ ')'
20
  ```
21
 
22
  Otherwise, the expression is interpreted as
23
 
24
  ``` bnf