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:
Cambie la unión a una clase o estructura.
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
};