PDA

Visualizza la versione completa : [C++] Errore nell'uso di new()


JamesMantis
11-03-2011, 18:43
Ciao a tutti ragazzi, sto facendo un esercizio e ho un problema che da solo non riesco proprio a risolvere:

Il programma consiste in una lista (che per ora vuota) di classi "impiegato" dentro a cui sostanzialmente c' string nome e cognome e i vari metodi per accedervi.


class impiegato {

private:
string nome;
string cognome;
int anno;
impiegato* next;
impiegato* prec;

Ora io voglio crearne una nuova con questo comando:


impiegato* dumbass;
dumbass = new impiegato;


Se lo faccio nel main funziona perfettamente

(PS: new non so cosa faccia di preciso, credo allochi dello spazio ma non so bene le dinamiche)

Se invece lo eseguo in un metodo di un'altra classe "ListaOrdinata" la quale serve a gestire la lista tramite i suoi metodi il programma si termina una volta raggiunta quella riga

Eccovi il punto in cui si ferma


void insert() {
string nome, cognome;
int anno;
impiegato* next;
impiegato* prec;
next = NULL;
prec = NULL;

cout << "Nome: ";
cin >> nome;
cout << "Cognome: ";
cin >> cognome;
cout << "Anno: ";
cin >> anno;
impiegato* nuovo;
nuovo = new impiegato;

Arrivati a questo punto NON SO PER QUALE DANNATO MOTIVO l'effetto questo

Nome: Pinco
Cognome: Pallino
Anno:1990
Nome:
e si termina da solo :( :( forse che non posso usare new in questo spot? Grazie a tutti per l'attenzione







Problema risolto, i cin e i cout messi in questo modo senza gli endl causano l'errore, mi sembrava figo mettere Nome: _____ e scrivere li ma evidentemente non si pu :)

Loading