Compilerfehler C2571

'Funktion': Virtuelle Funktion kann nicht in Union 'Union' sein

Eine Union wurde mit einer virtuellen Funktion deklariert. Sie können eine virtuelle Funktion nur in einer Klasse oder Struktur deklarieren. Mögliche Lösungen:

  1. Ändern Sie die Union in eine Klasse oder Struktur.

  2. Wandeln Sie die Funktion in eine nicht virtuelle Funktion um.

Im folgenden Beispiel wird C2571 generiert:

// C2571.cpp
// compile with: /c
union A {
   virtual void func1();   // C2571
   void func2();   // OK
};