diff --git a/source/classes.tex b/source/classes.tex index a1287851d4..6a5e4726fc 100644 --- a/source/classes.tex +++ b/source/classes.tex @@ -4897,20 +4897,6 @@ \end{example} \end{itemize} -\pnum -If a class member access operator, including an implicit -``\tcode{this->}'', -is used to access a non-static data member or non-static -member function, the reference is ill-formed if the -left operand (considered as a pointer in the -``\tcode{.}'' -operator case) cannot be implicitly converted to a -pointer to the designating class of the right operand. -\begin{note} -This requirement is in addition to the requirement that -the member be accessible as designated. -\end{note} - \rSec2[class.friend]{Friends}% \indextext{friend function!access and}% \indextext{access control!friend function} diff --git a/source/expressions.tex b/source/expressions.tex index 51ff9a3ce5..530ef3b621 100644 --- a/source/expressions.tex +++ b/source/expressions.tex @@ -4338,6 +4338,16 @@ Otherwise, the program is ill-formed. \end{itemize} +\pnum +Let \tcode{C} be the cv-unqualified version of the type of \tcode{E1}. +The program is ill-formed if a prvalue of type ``pointer to \tcode{C}'' +cannot be implicitly converted to a pointer to +the designating class\iref{class.access.base} of the right operand. +\begin{note} +This requirement is in addition to the requirement that +the member be accessible as designated. +\end{note} + \pnum If \tcode{E2} designates a non-static member (possibly after overload resolution),