cannot convert an 'identifier1*' to an 'identifier2*'; conversion from a virtual base class is implied
The conversion requires a cast from a virtual base class to a derived class, which is not allowed. The followings sample generates C2635:
class B { }; class D : virtual public B { // remove virtual to resolve the error }; void main() { B b; D d; D * pD = &d; pD = (D*)&b; // C2635 }