Ciao a tutti,
spero che il titolo sia in linea con il problema! Ho una funzione che stampa una lista di contatti:
Così funziona, ma non mi piace molto, perchè il risultato è questo:codice:friend ostream& operator <<(ostream& output,struct contatto& print){ output<< print.t<< ": "; output<< print.n; return output; }
1: primonumero
2: secondonumero
etc etc
Adesso, al posto di 1: e 2: vorrei scrivere la tipologia, quindi ho modificato così il programma:
io mi aspettavo di vedere:codice:friend ostream& operator <<(ostream& output,struct contatto& print){ if(print.t=="1") output<<"valore 1: "; if(print.t=="2") output<<"valore 2: "; if(print.t=="3") output<<"valore 3: "; output<< print.n; //RESTITUISCE BENE IL NUMERO return output; }
valore 1: primonumero
valore 2: secondonumero
etc etc
invece viene fuori:
primonumero
secondonumero
Contatto è dichiarato così:
Suppongo che il problema è che t, è un puntatore al char, giusto? come posso risolvere il problema?codice:struct contatto{ char* t; char* n; contatto(){ t=0; n=0; }
Grazie mille.
![]()

Rispondi quotando
