|
351 | 351 | \begin{itemize}
|
352 | 352 | \item
|
353 | 353 | A function is named by an expression or conversion
|
354 |
| - if it is the unique result of a name lookup or the selected member |
355 |
| - of a set of overloaded functions~(\ref{basic.lookup}, \ref{over.match}, \ref{over.over}) |
| 354 | + if it is the selected member |
| 355 | + of an overload set~(\ref{basic.lookup}, \ref{over.match}, \ref{over.over}) |
356 | 356 | in an overload resolution performed
|
357 | 357 | as part of forming that expression or conversion,
|
358 | 358 | unless it is a pure virtual function and either
|
|
1365 | 1365 | such names in the context discussed by a particular rule. Name lookup
|
1366 | 1366 | associates the use of a name with a set of declarations\iref{basic.def} of
|
1367 | 1367 | that name.
|
1368 |
| -The declarations found by name lookup shall either all denote the same entity or |
1369 |
| -shall all denote functions or function templates; |
1370 |
| -in the latter case, |
1371 |
| -the declarations are said to form a set of overloaded |
1372 |
| -functions\iref{over.load}. Overload resolution\iref{over.match} |
| 1368 | +If the declarations found by name lookup |
| 1369 | +all denote functions or function templates, |
| 1370 | +the declarations are said to form an \defn{overload set}. |
| 1371 | +The declarations found by name lookup shall either |
| 1372 | +all denote the same entity or form an overload set. |
| 1373 | +Overload resolution~(\ref{over.match}, \ref{over.over}) |
1373 | 1374 | takes place after name lookup has succeeded. The access rules\iref{class.access}
|
1374 | 1375 | are considered only once name lookup and
|
1375 | 1376 | function overload resolution (if applicable) have succeeded. Only after
|
|
1846 | 1847 | enclosing namespace is also included in the set. If an associated namespace
|
1847 | 1848 | directly contains inline namespaces, those inline namespaces are also included
|
1848 | 1849 | in the set.
|
1849 |
| -In addition, if the argument is the name or address of a set of |
1850 |
| -overloaded functions and/or function templates, its associated entities |
| 1850 | +In addition, if the argument is the name or address of an overload set, |
| 1851 | +its associated entities |
1851 | 1852 | and namespaces are the union of those associated with each of the
|
1852 | 1853 | members of the set, i.e., the entities and namespaces associated with its
|
1853 | 1854 | parameter types and return type.
|
1854 |
| -Additionally, if the aforementioned set of overloaded functions is named with |
| 1855 | +Additionally, if the aforementioned overload set is named with |
1855 | 1856 | a \grammarterm{template-id}, its associated entities and namespaces also include
|
1856 | 1857 | those of its type \grammarterm{template-argument}{s} and its template
|
1857 | 1858 | \grammarterm{template-argument}{s}.
|
|
0 commit comments