Salve a tutti raggazzi e ragazze..stavo scrivendo del codice e mi sono ritrovato con un dubbio inaspettato
vi posto il codice:
codice:
void Albero::AddNodo() 
{ 
     char risp=scelta_nodo(); //ritorna s o n per scegliere su quale nodo inserire il nuovo dato
     if(risp=='s')
        if(!(corrente->GetNextSx())){ //GetNextSx() ritorna il puntatore al nodo successivo a sinistra
                                                   //corrente è il puntatore all'elemento corrente
            int d;
            cout<<"Inserisci il dato per il nodo: ";
            cin>>d;
//            (corrente->GetNextSx())=new Nodo(d);
             Nodo* tmp=corrente->GetNextSx();
            tmp=new Nodo(d);
            corrente=corrente->GetNextSx();
            return;                       
        }

     if(risp=='d')
        if(!(corrente->GetNextDx())){//GetNextDx() analogo di GetNextSx() ma il dx
            int d;
            cout<<"Inserisci il dato per il nodo: ";
            cin>>d;
//            corrente->GetNextDx()=new Nodo(d);
            Nodo* tmp=corrente->GetNextDx();
            tmp=new Nodo(d);
            corrente=corrente->GetNextDx();
            return;                       
        }
     cout<<"Il nodo scelto contiene gia' un dato"<<endl;
}
Il problema si pone per le righe commentate non l-value in assignment. Qualcuna sa spiegarmi il motivo per cui le due righe successive fanno compilare il codice e quella commentata non mi danno il suddetto errore?
La zona di memoria puntata è sempre la stessa.
Ringrazio sempre in anticipo.
--