Erreur du compilateur C2250

'identifier' : héritage ambigu de 'class ::member'

La classe dérivée hérite de plusieurs remplacements d’une fonction virtuelle d’une classe de base virtuelle. Ces remplacements sont ambigus dans la classe dérivée.

L’exemple suivant génère l’erreur C2286 :

// C2250.cpp
// compile with: /c
// C2250 expected
struct V {
   virtual void vf();
};

struct A : virtual V {
   void vf();
};

struct B : virtual V {
   void vf();
};

struct D : A, B {
   // Uncomment the following line to resolve.
   // void vf();
};