Vektor, Funktion in Funktion aufrufen



  • Hallo Jungs

    Wäre super wenn mir jemand bei folgendem Problem helfen könnte:

    Ich initialisiere im main() einen Vektor vom Typ Klasse und fülle ihn mit Daten.

    Diesen Vektor übergebe ich nachher folgender Funktion:
    bool auto_show(vector<Auto> &vec_autos, int &infonr)

    In dieser Funktion möchte ich eine weitere Funktion aufrufen und den gleichen Vektor übergeben:
    void autos_auflisten(vector<Auto> vec_autos, int &seite)

    Beim kompilieren treten keine Fehler oder Warnungen auf. Aber sobald ich die erste Funktion aufrufe crasht mir das Programm, auch wenn die zweite Funktion noch leer ist { return; }

    Wenn ich die zweite Funktion in der ersten nicht Aufrufe funktioniert es prima.

    Weiss einer wo mein Problem liegt? 😕
    Ich hoffe ihr versteht was ich sagen wollte 🙂

    Gruss



  • meine glaskugel ist defekt. bitte zeig mal deinen code...



  • bißchen viel kristallkugel.. achso, nur jungs, na ja, dann (wieder zum frühstück zurückkehr)



  • Der ganze Code ist leider etwas zu gross 😃 aber ich probiere es zusammenzufassen:

    void autos_auflisten(vector<Auto> vec_autos, int &seite)
    {
      cout << "test";   // Egal was ich hier mache crasht das Programm
      return;           // Sobald die Funktion in auto_show aufgerufen wird
    }
    
    bool auto_show(vector<Auto> &vec_autos, int &infonr)
    {
      cout << "menue...";
      autos_auflisten(vec_autos,seite); // Zweite Funktion aufrufen
      return true;
    }
    
    vector <Auto> vec_autos;
    
    int main()
    {
       bool funktion;
    
       laden(vec_autos, .....)   // Vektor wird von einer Textdatei gefüllt
       funktion = auto_show(vec_autos,infonr); // Erste Funktion  
    
       return 0;
    }
    

    Vom Aufbau sieht das so aus. Mach ich da was falsch?

    // Edit hmm hab glaub doch ein Fehler im autos_auflisten, der crasht zumindest nicht wenn ich nur cout << "test" mache, ich schaus nochmal an
    // Edit jetzt gehts, komische geschichte 🙂

    Gruss



  • Sonst hätte ich noch getippt, dass du deinen Vector beim Laden pulverisiert hast. Das Ding crasht, wenn der Vector beim zweiten Funktionaufruf kopiert wird.



  • Warum nimmst du bei so was nicht einfach mal den Debugger? Ich meine - du kannst doch (auch später) nicht bei jedem Problem in nem Forum posten sondern musst auch mal lernen, dir selbst zu helfen...

    naja - dein prob is ja anscheind eh gelöst... bb



  • wobei wenn es echt ungefähr so eifnach ist wie du es hier geschrieben hast brauchst du nix zu übergeben weil der vector ja global ist...



  • bist du der von gzp?


Anmelden zum Antworten