Komischer Fehler - sucht nach einem helfenden Loeser !!!

  • Hi ho ...

    als erstes moechte ich noch erwaehnen, dass ich hier zwar viel geschrieben habe, das Problem aber eher komisch als kompliziert ist !!!

    Habe ein komisches Problem! Habe mir eine Sortierungsklasse geschrieben ( nix besonderes ). Desweiteren habe ich mich die Klassen DoppelVektor und DreifachVektor geschrieben, die als Eintrag 2 bzw. 3 Zahlen ( long ) beinhalten..
    Ich lese ein Mal Zweier-Paare aus einer Datei ein und speichere sie in einem vector < DoppelVektor > und will sie dann sortieren => Klappt!
    Habe ich dagegen Dreier-Paare in einem vector < DreifachVektor > gespeichert und moechte diese sortieren => Abbruch !
    gdb liefert folgende Zeile: Program received signal SIGSEGV, Segmentation fault. im Code konnte ich es m.E. auf folgende Zeile eingrenzen :

    Code
    while (dasfeld[lambda2] < pivot_elem) ( ... tue geeignetes ... )

    ... dabei ist das pivot_elem durch einen Kopierkonstruktor in's Leben gerufen worden :

    Code
    T pivot_elem( dasfeld[pivot_ind]);

    dasfeld ist vom Datentyp vector und beinhaltet entweder DoppeltVektor-Eintraege oder DreifachVektor-Eintraege, je nachdem, was ich halt sortieren moechte.
    Bei beiden KLassen habe ich KEINEN [] Operator! Laut gdb ist der <-Vergleich der Ausloeser ,,, aber ich tippe eher auf einen Zusammenhang im Bezug auf den []-Operator

    Die Sortierungsklasse hat folgende Parameter:

    Code
    template <class T> class sorter 
    {     private:         vector <T> dasfeld;         long laenge;     
    public:         ... halt Funktionen und so'n Zeugs ... }

    Die Aufrufe laufen also wie folgt ab :

    Code
    sorter <DoppelVektor> thesorter(the_vec, the_vec.size());

    wobei the_vec vom Datentyp vector ist und

    Code
    sorter <DreifachVektor> pkq_sort ( pkq , pkq.size());

    wobei pkq vom Datentyp vector ist. Ein paar Textbeispiele sind :

    liefert folgende Ausgabe :

    scheint also alles geklappt zu haben .... dagegen geht es beim DreifachVektor leider nicht ! :(

    Kann mir einer erklaeren, woran das liegen kann ??? Habe ein kleines Beispielprogramm dazu auf DIESER Seite hinterlegt!

    Ich waere euch ECHT dankbar, wenn ihr mir hilfreiche Kommentare geben koenntet !!!


    Schoenen Abend noch !
    #50

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!