C++ cannot convert from base A to derived type B via virtual base A

Viewed 34100

I have three classes:

class A {};

class B : virtual public A {};
class C : virtual public A {};

class D: public B, public C {};

Attempting a static cast from A* to B* I get the below error:

cannot convert from base A to derived type B via virtual base A
7 Answers
Related