Udostępnij za pomocą


Błąd kompilatora C2571

"function": funkcja wirtualna nie może być w unii "union"

Uwagi

Unia jest zadeklarowana za pomocą funkcji wirtualnej. Funkcję wirtualną można zadeklarować tylko w klasie lub strukturze. Możliwe rozwiązania:

  1. Zmień unię na klasę lub strukturę.

  2. Ustaw funkcję jako niewirtualną.

Example

Poniższy przykład generuje C2571:

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