Erreur du compilateur C2798
'super ::member' est ambigu
Plusieurs structures héritées contiennent le membre que vous avez référencé avec super. Vous pouvez corriger l’erreur en effectuant les opérations suivantes :
Suppression de B1 ou B2 de la liste d’héritage de D.
Modification du nom du membre de données dans B1 ou B2.
L’exemple suivant génère l’erreur C2798 :
// C2798.cpp
struct B1 {
int i;
};
struct B2 {
int i;
};
struct D : B1, B2 {
void g() {
__super::i = 4; // C2798
}
};