nach cout daten weg

maxhd2

Grünschnabel
mein programm soll eine csv artige datei einlesen und verarbeiten alles schön und gut aber nach der ausgabe sind die daten weg.
Code:
 int main(int argc, char *argv[])
  {
  std::vector <Personen> PersonenVect;
  Scanner *s= new Scanner();
  s->scanfile(&PersonenVect);
  cout << PersonenVect.size() <<endl;
 int a=0;
// alle daten werden angezeigt 

 for(  ;a < PersonenVect.size(); a++ ) {
   PersonenVect[a].showData();  
}
  cout << "nochmal:" <<endl;
  a=0;
//  garnix wird angezeigt, alles weg.
 for(  ;a < PersonenVect.size(); a++ ) {
   PersonenVect[a].showData();  
}

Code:
//  die  methode inst eine stinknormale void methode  und ruft nur  cout auf

void Personen::showData(){

      

     cout <<"lol:"<< vorname <<"|" << nachname <<"|"

      << gebj <<"|" << tjahr << "|"<< vvorn <<"|" << vnachn<< "|" << vgebj <<"|"<< vtjahr<< "|"

      << mvorn <<"|"<< mnachn <<"|"<< mgebj <<"|"<< mtjahr <<"|"<< waise <<"|"<<endl;

     }
wtf
 
Hmm...nur so eine Vermutung (kein Gewehr und so ;)).

Du gibts bei der for-Schleife keinen Anfangswert an. Ich sehe, dass du die Zählvariable vorher auf 0 setzt, aber versuche es vlt einfach mal mit der Angabe eines Anfangswertes.

Es könnte sein, dass dein Programm den Wert der Variable a zwar ausserhalb der Schleife kennt, aber innerhalb ein anderes, 'neues', nur in der Schleife verwendetes, "a" annimmt, dem du dann keinen Wert mitgeben würdest --> es ist unbekannt, wozu du nach einem Durchlauf 1 addieren möchtest.
 
Zurück