Ho un semplice programma in c++ che gestisce una lista permettendo tre "operazioni": la creazione, la stampa e il conteggio degli elementi della lista. Questo è il codice:
codice:
#include <iostream>
using namespace std;
struct elem{
int inf;
elem* pun;
};
typedef elem* list;
list initList(int n){
list p0;
elem* p;
for(int i=0; i<n; i++){
p=new elem;
cout << "Inserisci valore: ";
cin >> p->inf;
p->pun=p0;
p0=p;
}
return p0;
}
int countList(list li){
int count=0;
elem* p=li;
while(p!=0){
count+=1;
cout << "Count: " << count << endl;
p=p->pun;
}
return count;
}
void printList(list li){
elem* p=li;
while(p!=0){
cout << p->inf << endl;
p=p->pun;
}
}
int main(){
list l1;
int n;
l1=initList(5);
n=countList(l1);
cout << "Conteggio " << n << ".\n";
//system("pause");
return 0;
}
Ho compilato questo codice in ambiente mac e non ho avuto modo di provarlo ne su linux ne su windows. Il programma una volta lanciato come da titolo presenta l'errore bus error a cui purtroppo non riesco a dare un significato.
Grazie in anticipo per le risposte.