tmp/tmps20o6ap5/{from.md → to.md}
RENAMED
|
@@ -20,13 +20,14 @@ type “pointer to member of `T`” to its first operand, which shall be of
|
|
| 20 |
type “pointer to `U`” where `U` is either `T` or a class of which `T` is
|
| 21 |
an unambiguous and accessible base class. The expression `E1->*E2` is
|
| 22 |
converted into the equivalent form `(*(E1)).*E2`.
|
| 23 |
|
| 24 |
Abbreviating *pm-expression*`.*`*cast-expression* as `E1.*E2`, `E1` is
|
| 25 |
-
called the *object expression*. If the
|
| 26 |
-
|
| 27 |
-
|
|
|
|
| 28 |
|
| 29 |
The restrictions on cv-qualification, and the manner in which the
|
| 30 |
cv-qualifiers of the operands are combined to produce the cv-qualifiers
|
| 31 |
of the result, are the same as the rules for `E1.E2` given in
|
| 32 |
[[expr.ref]].
|
|
|
|
| 20 |
type “pointer to `U`” where `U` is either `T` or a class of which `T` is
|
| 21 |
an unambiguous and accessible base class. The expression `E1->*E2` is
|
| 22 |
converted into the equivalent form `(*(E1)).*E2`.
|
| 23 |
|
| 24 |
Abbreviating *pm-expression*`.*`*cast-expression* as `E1.*E2`, `E1` is
|
| 25 |
+
called the *object expression*. If the result of `E1` is an object whose
|
| 26 |
+
type is not similar to the type of `E1`, or whose most derived object
|
| 27 |
+
does not contain the member to which `E2` refers, the behavior is
|
| 28 |
+
undefined. The expression `E1` is sequenced before the expression `E2`.
|
| 29 |
|
| 30 |
The restrictions on cv-qualification, and the manner in which the
|
| 31 |
cv-qualifiers of the operands are combined to produce the cv-qualifiers
|
| 32 |
of the result, are the same as the rules for `E1.E2` given in
|
| 33 |
[[expr.ref]].
|