class CParent{}; class CChild1 : virtual public CParent{}; class CChild2 : virtual public CParent{}; class CMultiple: public CChild1, public CChild2{}; void main() { CMultiple m; CChild1 c1; CChild2 c2; CParent* p; p = &c1; p = &c2; p = &m; //with out virtual inheritance in CChild1 & CChild2 the following error occures //error C2594: '=' : ambiguous conversions from 'CMultiple *__w64 ' to 'CParent *' }