Partager via


Erreur du compilateur C2798

'super ::member' est ambigu

Plusieurs structures héritées contiennent le membre que vous avez référencé avec super. Vous pouvez corriger l’erreur en effectuant les opérations suivantes :

  • Suppression de B1 ou B2 de la liste d’héritage de D.

  • Modification du nom du membre de données dans B1 ou B2.

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

// C2798.cpp
struct B1 {
   int i;
};

struct B2 {
   int i;
};

struct D : B1, B2 {
   void g() {
      __super::i = 4; // C2798
   }
};