Übergabe String segfault



  • Hallo,
    mein Code erzeugt bei der Übergabe eines Strings einen "segmentation fault".

    Header Datei:

    class HashMap {
     public:
      void insert(const std::string &key, int value); 
    };
    

    Implementation:

    void HashMap::insert(const std::string &key, int value) {
       // do smthg.
    }
    

    UnitTest:

    TEST(HashMap, insert) {
      HashMap hashMap;
      hashMap.insert("bad", 10);
    }
    

    Beim Aufrufen der insert Methode wird gemeckert. Included sollte eigentlich alles sein, habe es der Übersicht halber weg gelassen.

    Ich hoffe jemand kann mir helfen?

    Viele Grüße
    no_clue


  • Mod

    Minimales.

    Reproduzierbares.

    Beispiel.

    Bitte.



  • Ein "segmentation fault" tritt zur Laufzeit des Programms auf.
    Da wird also Code ausgeführt.

    Daher gehe ich davon aus, dass

    // do smthg.
    

    mehr macht, als nur ein Kommentar zu sein.



  • Meine Glaskugel verrät mir, dass du die Referenz irgendwo abspeicherst und dann zu einem Zeitpunkt darauf zugreifst, zu dem der temporäre string "bad" nicht mehr existiert.


Anmelden zum Antworten