Sezioni principali
Forum
Offerte lavoro
Corsi
Articoli
Toggle sign-in
Toggle search
Forum
Pubblica Annunci Lavoro ICT
Iscrizione Informatici
Login
Cerca In
Offerte lavoro
Forum
Corsi formazione
Articoli
Home
Offerte di lavoro ICT
Area Candidati
Offerte di lavoro
Iscrizione Informatici
Area Aziende
Iscrizione Aziende
Aziende iscritte
Forum sviluppatori
Generale
Indice Forum
Cerca nel Forum
Messaggi recenti
Registrazione
Area Software
Ingegneria del software
Assembly
C/C++
Delphi
Java
Matlab e Simulink
Microsoft .NET
Python
Area Web
HTML e CSS
JavaScript
Angular
ASP.NET
PHP
Webmaster
Mobile
Android
Apple iOS e Objective-C
Windows Phone
Database
Progettazione Database
Microsoft Access
MySQL e MariaDB
Oracle
PostgreSQL
SQL Server
Excel
Hardware & OS
Microsoft Windows
Linux
Hardware e Reti
Sistemi Embedded e Microcontroller
Corsi di informatica
Eventi ICT
Articoli
Consulenza
Consulenza informatica e sviluppo software
Utility
Il tuo Indirizzo IP
Home
Forum
C/C++
Nuovi posts
Cerca
Iscriviti
Errore sull'Albero RED BLACK, AIUTO!
di
Anonimizzato16831
il
15 apr 2015, 20:04
Condividi
Cerca
Ricerca avanzata
4 risposte
/
Anonimizzato16831
Utente anonimizzato
Errore sull'Albero RED BLACK, AIUTO!
15 apr 2015, 20:05
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
/
Anonimizzato15008
Utente anonimizzato
Re: Errore sull'Albero RED BLACK, AIUTO!
15 apr 2015, 20:19
L'errore mi sembra abbastanza autoesplicativo.. w->color è una stringa, dunque w->color->Figlio_Destro non ha senso.
Attenzione nel primo if, ci vanno due uguali non uno.
P.s.: Quando inserisci codice nel forum, utilizza gli appositi tag
/
Anonimizzato16831
Utente anonimizzato
Re: Errore sull'Albero RED BLACK, AIUTO!
15 apr 2015, 20:27
OK perfetto ma non so come aggiustare , visto che ho seguito lo pseudocodice che ha dato il prof sulle slide :\
/
Anonimizzato15008
Utente anonimizzato
Re: Errore sull'Albero RED BLACK, AIUTO!
15 apr 2015, 21:22
Probabilmente è
w->Figlio_Destro->color
....
/
Anonimizzato16831
Utente anonimizzato
Re: Errore sull'Albero RED BLACK, AIUTO!
15 apr 2015, 21:47
Ah ecco avevo gia corretto in questo modo ma mi dava lo stesso errore , forse perchè non avevo salvato . Grazie mille gentilissimo !
Devi
accedere
o
registrarti
per scrivere nel forum
4 risposte
Condividi