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