Erro do Compilador C2571
"function": a função virtual não pode estar na união "union"
Uma união é declarada com uma função virtual. Você pode declarar uma função virtual somente em uma classe ou estrutura. Possíveis resoluções:
Altere a união para uma classe ou estrutura.
Torne a função não virtual.
A amostra a seguir gera o erro C2571:
// C2571.cpp
// compile with: /c
union A {
virtual void func1(); // C2571
void func2(); // OK
};