Kompilatorfel C2798

"super::member" är tvetydig

Anmärkningar

Flera ärvda strukturer innehåller den medlem som du refererade till med super. Du kan åtgärda felet genom att antingen:

  • Ta bort B1 eller B2 från arvslistan för D.

  • Ändra namnet på datamedlemmen i B1 eller B2.

Example

I följande exempel genereras C2798:

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

struct B2 {
   int i;
};

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