Compartir a través de


Error del compilador C2571

'función': la función virtual no puede estar en la unión 'unión'

Se ha declarado una unión con una función virtual. Una función virtual solo se puede declarar en una clase o estructura. Posibles resoluciones:

  1. Cambie la unión a una clase o estructura.

  2. Haga que la función no sea virtual.

El ejemplo siguiente genera el error C2571:

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