Compilerfehler C2571

Aktualisiert: November 2007

Fehlermeldung

'Funktion': Virtuelle Funktion kann nicht in Union 'Union' sein
'function' : virtual function cannot be in union 'union'

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
};