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]

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.
[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]