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.