Salve, il seguente pezzo di codice dovrebbe inserire dei nodi in una lista e stamparla a video:

//Vi risparmio il main e il struct nodo
codice:
void inserisci(nodo *nuovo, nodo *&rubrica){
		nuovo->next = rubrica;
		rubrica = nuovo;
}

void stampa(nodo *rubrica){
	if (rubrica == NULL)
		cout << "FINE RUBRICA \n";
	else{
		cout << rubrica->Nome << rubrica->Cognome << rubrica->Telefono << endl;
		stampa (rubrica->next);
		
	}
}
solo che quando la lista ha + di 1 elemento il programma va in loop stampando l'ultimo nome inserito...

potete aiutarmi

grazie