|
6200 | 6200 |
|
6201 | 6201 | \pnum
|
6202 | 6202 | An explicitly defaulted special member function $\tcode{F}_1$
|
6203 |
| -with type $\tcode{T}_1$ |
6204 | 6203 | is allowed to differ from
|
6205 | 6204 | the corresponding special member function $\tcode{F}_2$
|
6206 |
| -with type $\tcode{T}_2$ |
6207 | 6205 | that would have been implicitly declared, as follows:
|
6208 | 6206 | \begin{itemize}
|
6209 | 6207 | \item
|
6210 |
| - $\tcode{T}_1$ and $\tcode{T}_2$ may have differing \grammarterm{ref-qualifier}{s}; |
| 6208 | + $\tcode{F}_1$ and $\tcode{F}_2$ may have differing \grammarterm{ref-qualifier}{s}; |
6211 | 6209 | \item
|
6212 | 6210 | if $\tcode{F}_2$ has an implicit object parameter of
|
6213 | 6211 | type ``reference to \tcode{C}'',
|
6214 | 6212 | $\tcode{F}_1$ may be an explicit object member function whose
|
6215 | 6213 | explicit object parameter is of type ``reference to \tcode{C}'',
|
6216 |
| - in which case $\tcode{T}_1$ would differ from $\tcode{T}_2$ |
6217 |
| - in that $\tcode{T}_1$ has an additional parameter; |
| 6214 | + in which case the type of $\tcode{F}_1$ would differ from the type of $\tcode{F}_2$ |
| 6215 | + in that the type of $\tcode{F}_1$ has an additional parameter; |
6218 | 6216 | \item
|
6219 |
| - $\tcode{T}_1$ and $\tcode{T}_2$ may have differing exception specifications; and |
| 6217 | + $\tcode{F}_1$ and $\tcode{F}_2$ may have differing exception specifications; and |
6220 | 6218 | \item
|
6221 | 6219 | if $\tcode{F}_2$ has a non-object parameter of type \tcode{const C\&},
|
6222 | 6220 | the corresponding non-object parameter of $\tcode{F}_1$ may be of
|
6223 | 6221 | type \tcode{C\&}.
|
6224 | 6222 | \end{itemize}
|
6225 |
| -If $\tcode{T}_1$ differs from $\tcode{T}_2$ in a way |
| 6223 | +If the type of $\tcode{F}_1$ differs from the type of $\tcode{F}_2$ in a way |
6226 | 6224 | other than as allowed by the preceding rules, then:
|
6227 | 6225 | \begin{itemize}
|
6228 | 6226 | \item
|
6229 | 6227 | if $\tcode{F}_1$ is an assignment operator, and
|
6230 |
| - the return type of $\tcode{T}_1$ differs from |
6231 |
| - the return type of $\tcode{T}_2$ or |
| 6228 | + the return type of $\tcode{F}_1$ differs from |
| 6229 | + the return type of $\tcode{F}_2$ or |
6232 | 6230 | $\tcode{F}_1${'s} non-object parameter type is not a reference,
|
6233 | 6231 | the program is ill-formed;
|
6234 | 6232 | \item
|
|
0 commit comments