std::out_of_range' what()



  • Hey Leute,

    ich arbeite an einem Projekt in dem ich einen vector habe der mit strings befüllt ist

    std::vector<std::string> src = {
                                                       std::string("String 1\n"),
                                                       std::string("String 2\n"),
                                                       std::string("String 3\n")
                                                      };
    

    Jetzt möchte ich einen String ausgeben

    std::cout << src.at(1) << std::endl;
    

    und ich bekomme diese Error-Meldung

    terminate called after  throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
    

    Aber mein Vector ist doch eindeutig größer als 0 oder nicht?

    Vielen Dank im voraus,

    crsf1re



  • crsf1re schrieb:

    Aber mein Vector ist doch eindeutig größer als 0 oder nicht?

    Der, auf dem du at aufrufst, nicht.

    Da du so schlau warst, nur Schnipsel zu zeigen, kann man mehr nicht sagen.



  • Vielleicht wird auch an ein einer ganz anderen Stelle geworfen, denn der Aufruf scheint eher at(0) zu sein.


Log in to reply