Annex F (informative)
Core undefined behavior
[ub]
F.3
[expr]
: Expressions
[ub.expr]
F.3.10
[ub:conv.member.missing.member]
Specified in:
[conv.
mem]
1
#
The conversion of a pointer to a member of a base class to a pointer to member of a derived class that could not contain that member has undefined behavior
.
2
#
[
Example
1
:
struct
B
{
}
;
struct
D1
:
B
{
int
d1;
}
;
struct
D2
:
B
{
}
;
void
f
(
)
{
int
(
D1
::
*
pd1
)
=
&
D1
::
d1;
int
(
B
::
*
pb
)
=
static_cast
<
int
(
B
::
*
)
>
(
pd1
)
;
int
(
D2
::
*
pd2
)
=
pb;
// undefined behavior
}
—
end example
]