Errore output 'std::bad_alloc' c++

di il
1 risposte

Errore output 'std::bad_alloc' c++

Dopo la compilazione del codice non ci sono errori ma a video esce questo:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Non ho mai visto questo errore quindi chiedo a voi.
Il problema è iniziato dopo l'aggiunta di questo pezzo di codice. [CODE] #include <iostream> #include <fstream> #define MAX 25 using namespace std; struct menu { string nome; float prezzo; }; struct ordine { string name; int nOrd; // numero ordinazioni ordine * next; }; ordine * Oprimo = NULL; ordine * Otemp = NULL; ordine * Oultimo = NULL; struct tavolo { int NC; tavolo * inizio; }; tavolo sala [MAX]; fstream a, p, d, b; . . . int apriAntipasti(char nomeAntipasti[]){ int riempimento = 0; int i; a.open("antipasti.txt", ios::in); while(!a.eof()){ a>>i; riempimento ++; } a.close(); return riempimento; } void readAntipasti(char nomeAntipasti[], int*vettore, int riempimento){ a.open("antipasti.txt", ios::in); for(int i = 0; i < riempimento; i++){ a>>vettore[i]; } a.close(); } int apriPizze(char nomePizze[]){ int riempimento = 0; int i; p.open("pizze.txt", ios::in); while(!a.eof()){ a>>i; riempimento ++; } p.close(); return riempimento; } void readPizze(char nomePizze[], int*vettore, int riempimento){ p.open("pizze.txt", ios::in); for(int i = 0; i < riempimento; i++){ a>>vettore[i]; } p.close(); } int apriDolci(char nomeDolci[]){ int riempimento = 0; int i; d.open("dolci.txt", ios::in); while(!a.eof()){ a>>i; riempimento ++; } d.close(); return riempimento; } void readDolci(char nomeDolci[], int*vettore, int riempimento){ d.open("dolci.txt", ios::in); for(int i = 0; i < riempimento; i++){ a>>vettore[i]; } d.close(); } int apriBevande(char nomeBevande[]){ int riempimento = 0; int i; b.open("bevande.txt", ios::in); while(!a.eof()){ a>>i; riempimento ++; } b.close(); return riempimento; } void readBevande(char nomeBevande[], int*vettore, int riempimento){ b.open("bevande.txt", ios::in); for(int i = 0; i < riempimento; i++){ a>>vettore[i]; } b.close(); } int main () { string nome, risposta, risVis; int i = 0, numero = 0, anti, pizz, dolc, bev; char nomeAntipasti[] = "antipasti.txt"; char nomePizze[] = "pizze.txt"; char nomeDolci[] = "dolci.txt"; char nomeBevande[] = "bevande.txt"; int*v; v = new int [anti]; int*v1; v1 = new int [pizz]; int*v2; v2 = new int [dolc]; int*v3; v3 = new int [bev]; cout<<"Benvenuto!"<<endl; if(!fileVuoto()){ cout<<"Ora devi inserire il menu... "<<endl; caricaMenu(); }else{ cout<<"Menu' caricato!"<<endl; cout<<"Vuoi visualizzare il file? "<<endl; cin>>risVis; if(risVis == "si" || risVis == "Si" || risVis == "sI" || risVis == "SI"){ anti = apriAntipasti(nomeAntipasti); readAntipasti(nomeAntipasti, v, anti); for(int i = 0; i < anti; i++){ cout<<v[i]<<" "; } pizz = apriPizze(nomePizze); readPizze(nomePizze,v2,pizz); for(int i = 0; i < pizz; i++){ cout<<v1[i]<<" "; } dolc = apriDolci(nomeDolci); readDolci(nomeDolci, v2, dolc); for(int i = 0; i < dolc; i++){ cout<<v2[i]<<" "; } bev = apriBevande(nomeBevande); readBevande(nomeBevande,v3,bev); for(int i = 0; i < bev; i++){ cout<<v3[i]<<" "; } } . . . .

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte