Condividi tramite


Errore del compilatore C2798

'super::member' è ambiguo

Più strutture ereditate contengono il membro a cui si fa riferimento con super. È possibile correggere l'errore in uno dei due casi seguenti:

  • Rimozione di B1 o B2 dall'elenco di ereditarietà di D.

  • Modifica del nome del membro dati in B1 o B2.

L'esempio seguente genera l'errore C2798:

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

struct B2 {
   int i;
};

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