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:
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;
}
praticamente il compilatore non mi da errori, ma il programma si blocca e termina l'esecuzione. ho incluso vector, string, iostream, fstream.....
avete idea del motivo di questo errore?