void ambig() | |
{ | |
struct A {}; | |
struct B : A {}; | |
struct C : A {}; | |
struct D : B, C {}; | |
D d; | |
A* ap = static_cast<B*> (&d); | |
D* db = static_cast<D*> (ap); // { dg-error "" } | |
D& dr1 = static_cast<D&> (*ap); // { dg-error "" } | |
A& ar = static_cast<C&> (d); | |
D& dr = static_cast<D&> (ar); // { dg-error "" } | |
} | |