Condividi tramite


Errore del compilatore C2571

'function': la funzione virtuale non può essere in unione 'union'

Un'unione viene dichiarata con una funzione virtuale. È possibile dichiarare una funzione virtuale solo in una classe o in una struttura. Possibili risoluzioni:

  1. Modificare l'unione in una classe o struttura.

  2. Impostare la funzione come non virtuale.

L'esempio seguente genera l'errore C2571:

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