Problem mit vector
-
Hi
hab schon wieder ein Problem diesmal mit Vectoren. Während der Runtime tritt ein Fehler auf.
//--------------------------------------------------------------------------- //eigene Klassen und Funktionen #include"user.h" #include"menu.h" #include"funk.h" #include"settings.h" //--------------------------------------------------------------------------- int main() { //Datenströme ofstream out("pwd.pw",ios::app); ifstream in("pwd.pw"); //Variablen admin administrator("admin","bsb","n/a","admin"); //standart administrator vector<user> aa; //user array vector<user>::iterator paa; vector<admin> bb; //admin array vector<admin>::iterator pbb; int iUserzahl=0; int iAdmins=0; int iUser=0; string strInput[2];//Eingabe Puffer 0=Benutzername 1=Passwort string strPuffer[5];//Einlese Puffer char x[3]; //Noch ein einlese Puffer bool bUserchk=false; bool bAdminchk=false; //Zahl der Datensätze aus Datei lesen in>>x; iUserzahl=atoi(x); for(int i=0;i<iUserzahl;i++) //Einlese Schleife { in>>strPuffer[0]; //Name in>>strPuffer[1]; //Passwort in>>strPuffer[2]; //Vorname in>>strPuffer[3]; //Benutzername in>>strPuffer[4]; //Status if(strPuffer[4]=="user")//user in array schreiben { user Puffer(strPuffer[0],strPuffer[1],strPuffer[2],strPuffer[3]); aa.push_back(Puffer); iUser++; } if(strPuffer[4]=="admin")//admin in array schreiben { admin Puffer(strPuffer[0],strPuffer[1],strPuffer[2],strPuffer[3]); bb.push_back(Puffer); iAdmins++; } } while(1) { start(strInput); strInput[1]=pw(strInput[1]); for(int i=0;i<iUser;i++) //User Prüfung { if(aa[i].getBenutzername()==strInput[0]) { if(aa[i].getPasswort()==strInput[1]) { bUserchk=true; } } } for(int i=0;i<iAdmins;i++) //Admin Prüfung { if(bb[i].getBenutzername()==strInput[0]) { if(bb[i].getPasswort()==strInput[1]) { bAdminchk=true; } } } if(strInput[0]=="admin"&&"bsb"==pw(strInput[1])) //std Admin Prüfung { bAdminchk=true; } if(bUserchk) break; if(bAdminchk) break; clrscr(); cout<<"Falscher Benutzername oder Passwort"; } getchar(); getchar(); return 0; } //---------------------------------------------------------------------------bevor ich den Teil in der while(1) Schleife geschrieben habe gings.
Ich nutze üprigens den Borland C++ Builder 6.soll ich die Headerdatein noch posten ??
-
ich glaub es macht mehr sinn wenn du dich mit deinem debugger auseinandersetzt. (als den header auch noch zu posten)
-
Mit dem Debugger komm ich leider nicht klar.

In der Fehlermeldung steht etwas von einer Zugriffsverletzung.
Der Debuger springt in die _vector.h zu dieser zeile~vector() { _Destroy(this->_M_start, this->_M_finish); }edit:
hab mir mal das Debugg tutorial angeschaut, wirklich geholfen hat mir das zwar nicht, aber ich habe den fahler trotzdem gefunden nur verstehen tu ich ihn nicht.
In der Settings.h
vorher:#include<string> #include<fstream> #include<iostream> #include<conio> #include<vector> //include<stdlib> using namespace std;nachher
#include<string> #include<fstream> #include<iostream> #include<conio> #include<vector> using namespace std;
-
das war nicht der fehler^^ willst du uns verschaukeln!?
-
naja jetzt funktionierts und sonst hab ich nix geändert.
Ich sag ich verstehs nicht.