salve a tutti,
sto realizzando un programmino "airport manager": due classi, airport e flights. il programma sostanzialmente si sviluppa secondo due switch: il primo consente di scegliere l'aeroporto di partenza da un file di testo che stampo a video (e fin qui tutto bene). quando scelgo, per esempio, Roma, lo switch mi fa settare degli attributi dell'oggetto Airport*Roma:
praticamente il compilatore non mi da errori, ma il programma si blocca e termina l'esecuzione. ho incluso vector, string, iostream, fstream.....codice:class Airport { \\questa è la classe airport string _name; vector<string>_destinations; ..... public: void setDestinations(vector <string> destinazioni) { \\mi setta il vector _destinations for(unsigned int i=0;i<destinations.size();i++){ _destinations[i]=destinazioni[i]; } Airport* chooseAirport(){ \\ritorna puntatore, sarà usato dal secondo choose string linea; int aeroporto; cout<<"scegli il numero corrispondente all'areoporto desiderato"<<endl; ifstream read("aeroportidisponibili.txt", ios::in); \\qui mi legge un file con vari aeroporti scritti su; if(read){ while(!read.eof()){ getline(read,linea,'\n'); cout<<linea<<endl; \\e fin qui ok! } read.close(); } cin>>aeroporto; switch(aeroporto){ case 1: { static Airport*Roma; Roma=new Airport(); vector <string> filedestination; string name; name="Roma"; ifstream read; read.open("destinazioniroma.txt", ios::in); if(read){ while(!read.eof()){ string linea1; getline(read,linea1,'\n'); filedestination.push_back(linea1); \\il problema credo sia questo perchè se gli metto un cout invece il programma prosegue normalmente; ma io devo memorizzare i dati estratti su un vector<string> e poi copiarlo nell'attributo vector<string>_destinations della classe Airport } read.close(); } name->setDestinations(filedestination); \\qui copio filedestination dentro _destination, cosi l'oggetto Airport*Roma possiede già le destinazioni disponibili. Roma->setName(name); return Roma; break; }
avete idea del motivo di questo errore?

Rispondi quotando