.at() probleme



  • Ich debugge deinen Quelltext jetzt nicht, du musst schon selbst schauen, wo dein Fehler auftritt (hast du einen Breakpoint gesetzt?).

    Was mir auffällt, ist dass du in der Datei conflib_aus.cpp mehrfach die Funktion exit() wahrscheinlich falsch verwendest (meinst du da break?).

    Außerdem benutzt du die Funktion at() nur in der Datei conflib_aus.cpp, von daher musst du auch nur dort schauen, vermutlich greifst du auf einen char im string zu, obwohl der string nicht so lange ist.



  • so ich hab den Fehler durch ausprobieren herraus bekommen wo die .at() den Fehler verursachen:

    [cpp] for(unsigned int i=0; i < Zeilen.zeile.size(); i++)
    {
    int Ende_Name = Zeilen.zeile[i].size();

    if(Zeilen.zeile[i][0] == '[' && Zeilen.zeile[i].at(Ende_Name-1) == ']')
    {
    Search.Name = Zeilen.zeile[i].substr(1, Ende_Name-1);

    A.Anfang_Group = i + 1;
    do
    {
    i++;
    }while(Zeilen.zeile[i][0] != '[');
    E.Ende_Group = i - 1;
    }

    }[/cpp]
    Das hat der Debugger mir nicht angezeigt.



  • Hast du dir schon den Hinweis von Fellhuhn auf der 2. Seite angeschaut?



  • ja das hab ich auch weg gemacht.



  • In Zeile 27 von conflib_aus prüfst du nicht, ob i außerhalb der Vektorgrößen liegt.



  • Ich prüfe in der Zeile i ob der erste Buchstabe [ ist.

    Edit:
    Der debugger zeigt mit das an:

    Building to ensure sources are up-to-date
    Build succeeded
    Selecting target: 
    Debug
    Adding source dir: /media/nico_/sicherung/ubuntu/Projekt/conflib/
    Adding source dir: /media/nico_/sicherung/ubuntu/Projekt/conflib/
    Adding file: libconflib.a
    Starting debugger: 
    done
    Registered new type: wxString
    Registered new type: STL String
    Registered new type: STL Vector
    Setting breakpoints
    Debugger name and version: GNU gdb (GDB) 7.1-ubuntu
    No symbol table is loaded.  Use the "file" command.
    Breakpoint 1 ("/media/nico_/sicherung/ubuntu/Projekt/conflib/conflib_aus.cpp:27) pending.
    No symbol table is loaded.  Use the "file" command.
    Breakpoint 2 ("/media/nico_/sicherung/ubuntu/Projekt/conflib/conflib_aus.cpp:19) pending.
    


  • gamebuntu schrieb:

    Ich prüfe in der Zeile i ob der erste Buchstabe [ ist.

    Aber nicht, ob die Zeile i existiert.



  • nein nur ob in der zeile die [ am anfang steht.



  • gamebuntu schrieb:

    nein nur ob in der zeile die [ am anfang steht.

    Hargnnn, das sollte ein Hinweis auf Verbesserung sein!!



  • ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
    bin ich so dooooooooooooooooooooooofffffffffffff 🙄
    Stimmt du hast recht ich muss noch prüfen ob es die Zeile überhaupt gibt. 😃



  • Ohne dich wäre ich nie trauf gekommen danke. 😃


Anmelden zum Antworten