Erreur du compilateur C2571
'function' : la fonction virtuelle ne peut pas être dans l’union 'union'
Une union est déclarée avec une fonction virtuelle. Vous pouvez déclarer une fonction virtuelle uniquement dans une classe ou une structure. Résolutions possibles :
Remplacez l’union par une classe ou une structure.
Définissez la fonction non virtuelle.
L’exemple suivant génère l’erreur C2571 :
// C2571.cpp
// compile with: /c
union A {
virtual void func1(); // C2571
void func2(); // OK
};