Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Compiler Error C2635
Collapse the table of content
Expand the table of content

Compiler Error C2635

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 following sample generates C2635:

// C2635.cpp
class B {};
class D : virtual public B {};
class E : public B {};

int main() {
   B b;
   D d;
   E e;

   D * pD = &d;
   E * pE = &e;
   pD = (D*)&b;   // C2635
   pE = (E*)&b;   // OK
}
Show:
© 2015 Microsoft