tmp/tmprm27cca4/{from.md → to.md}
RENAMED
|
@@ -126,21 +126,25 @@ void g(int s) {
|
|
| 126 |
|
| 127 |
[*Note 3*:
|
| 128 |
|
| 129 |
The declaration of a class name takes effect immediately after the
|
| 130 |
*identifier* is seen in the class definition or
|
| 131 |
-
*elaborated-type-specifier*.
|
|
|
|
|
|
|
| 132 |
|
| 133 |
``` cpp
|
| 134 |
class A * A;
|
| 135 |
```
|
| 136 |
|
| 137 |
first specifies `A` to be the name of a class and then redefines it as
|
| 138 |
the name of a pointer to an object of that class. This means that the
|
| 139 |
elaborated form `class` `A` must be used to refer to the class. Such
|
| 140 |
artistry with names can be confusing and is best avoided.
|
| 141 |
|
|
|
|
|
|
|
| 142 |
— *end note*]
|
| 143 |
|
| 144 |
A *simple-template-id* is only a *class-name* if its *template-name*
|
| 145 |
names a class template.
|
| 146 |
|
|
|
|
| 126 |
|
| 127 |
[*Note 3*:
|
| 128 |
|
| 129 |
The declaration of a class name takes effect immediately after the
|
| 130 |
*identifier* is seen in the class definition or
|
| 131 |
+
*elaborated-type-specifier*.
|
| 132 |
+
|
| 133 |
+
[*Example 6*:
|
| 134 |
|
| 135 |
``` cpp
|
| 136 |
class A * A;
|
| 137 |
```
|
| 138 |
|
| 139 |
first specifies `A` to be the name of a class and then redefines it as
|
| 140 |
the name of a pointer to an object of that class. This means that the
|
| 141 |
elaborated form `class` `A` must be used to refer to the class. Such
|
| 142 |
artistry with names can be confusing and is best avoided.
|
| 143 |
|
| 144 |
+
— *end example*]
|
| 145 |
+
|
| 146 |
— *end note*]
|
| 147 |
|
| 148 |
A *simple-template-id* is only a *class-name* if its *template-name*
|
| 149 |
names a class template.
|
| 150 |
|