Errore sull'Albero RED BLACK, AIUTO!

di il
4 risposte

Errore sull'Albero RED BLACK, AIUTO!

Ciao ragazzi non riesco a capire l'errore che mi da quando cerco di testare il programma. L'albero Red Black è fatto bene, solamente la parte dove devo cancellare un elemento mi da un errore. Precisamente mi dice: Base operand of '->' has non-pointer type 'std::string...

void Albero::cancella(Nodo*x)
{
Nodo *w=new Nodo();
Nodo *y=new Nodo();

while((x!=radice) && (x->color=="black"))
{
if(x=x->Figlio_Sinistro)
{
w=x->Figlio_Destro;
if(w->color=="red")
{
x->Genitore->color="red";
w->color="black";
Rotazione_a_Sinistra(x->Genitore);
w=x->Figlio_Destro;
}
else{
if((w->Figlio_Sinistro->color=="black") && (w->Figlio_Destro->color=="black"))
{
w->color="red";
x=x->Genitore;
}
else{
if(w->color->Figlio_Destro=="black") [ QUI MI DA L'ERRORE!!!!!!!!]
{
w->Figlio_Sinistro->color=="black";
w->color="red";
Rotazione_a_Destra(w);
w=x->Figlio_Destro;
w->color=x->Genitore->color;
w->Genitore->color="black";
w->Figlio_Destro->color="black";
Rotazione_a_Sinistra(x->Genitore);

}
}
}
}
}
}

4 Risposte

Devi accedere o registrarti per scrivere nel forum
4 risposte