Raga vi mostro questo codice che ho scritto in C++:
codice://header file #ifndef LISTE_H #define LISTE_H #include <iostream> using namespace std; class Liste { public: void crealista(); void stampalista(struct numeri); private: struct numeri { int x; numeri* nodo; }; }; #endif // LISTE_HLa funzione stampa lista mi dà sempre errore in quanto non riesco a passargli bene la struct m. Qual'è il codice corretto per passare bene la lista? Inoltre, come si fà a passare la lista per valore (in modo che crei una copia invece di modificarmi il valore della lista originale) e per riferimento (in modo da, per esempio, una volta che ho creato la lista posso passarla per mettere in coda per esempio)?codice://source file #include "Liste.h" #include <iostream> using namespace std; void Liste::crealista() { int y; numeri* q=NULL; q=new numeri; q->nodo=NULL; cout << "Premi 1 per inserire un numero, altrimenti premi 0 " << endl; cin >> y; cout << endl; while(y==1) { q->nodo=NULL; int m; cout << "Inserisci il numero da salvare " << endl; cin >> m; cout << endl; numeri* p2=NULL; p2=new numeri; p2->x=m; p2->nodo=q; q=p2; cout << "Premi 1 per inserire un numero, altrimenti premi 0 " << endl; cin >> y; cout << endl; } numeri* m=q; stampalista(m); } void Liste::stampalista(numeri m ) { while(m!=NULL) { cout << m->x << endl; m=m->nodo; } }
Grazie in anticipo

Rispondi quotando