Erstellung einer simlen LinkedList



  • Danke für die schnelle Antwort. Doch wie genau muss ich das jetzt lösen??
    Denn ich denke nicht, dass die explitize Adresse ausgegeben wird. Ich denke eher dass mein Pointer front.element auf eine falsche Adresse im Speicher zeigt....



  • Ich hab was überlesen. Object ist in dem Fall vom Typ int, daher muss das richtig ausgegeben werden. Mea culpa. Meine Antwort wäre richtig, wenn es eine beliebige Klasse ausser string wäre ^^.
    rya.



  • Es ist ja auch so, dass Node x immer auf dieselbe Adresse im Speicher zeigt. Aber das sollte ja so nicht sein... denn jetzt entsteh ja keine LinkedList...soein scheiss ist das doch...



  • Scorcher24 schrieb:

    Ich hab was überlesen. Object ist in dem Fall vom Typ int, daher muss das richtig ausgegeben werden. Mea culpa. Meine Antwort wäre richtig, wenn es eine beliebige Klasse ausser string wäre ^^.
    rya.

    Aber das ist doch irrelevant für die Ausgabe....???? Obs jetzt ein string, char, int oder was auch immer ist, mit cout wird doch alles ausgegeben...



  • Ich glaube, ich hab das Problem:

    template <typename Object>
    void Queue<Object>::insert(Object const &value) {
        node.element = value;
        Node *x = new Node;
        node.next = x;
    }
    

    Du hast Node erzeugt, aber keinen Zeiger sondern ein temporäres Objekt. Das wird nach dem verlassen von insert zerstört. Du musst hier den Speicherbereich allokieren mit new() und natürlich im Destruktor dann mit delete wieder freigeben. Daher kommt auch dein Fehler.

    Aber das ist doch irrelevant für die Ausgabe....???? Obs jetzt ein string, char, int oder was auch immer ist, mit cout wird doch alles ausgegeben...

    Falsch! Integrierte Typen wie int float etc, können ausgegeben werden und natürlich std::string. Hast du eine Klasse selbst erstellt, woher soll std::cout bitteschön wissen was von der Klasse er ausgeben soll?
    rya.



  • hmmmm leider zeigt der pointer bei jedem node immer ncoh auf die gleiche adresse. ich versuche jetzt mal eine ganz simpe integer linked list zu erstellen....



  • joethe schrieb:

    hmmmm leider zeigt der pointer bei jedem node immer ncoh auf die gleiche adresse. ich versuche jetzt mal eine ganz simpe integer linked list zu erstellen....

    Lies deinen Code 😡 .
    In Queue() hast du den selben Fehler.
    rya.



  • Scorcher24 schrieb:

    joethe schrieb:

    hmmmm leider zeigt der pointer bei jedem node immer ncoh auf die gleiche adresse. ich versuche jetzt mal eine ganz simpe integer linked list zu erstellen....

    Lies deinen Code 😡 .
    In Queue() hast du den selben Fehler.
    rya.

    hmmm Queue() habe ich aus der Aufgabenstellung kopiert....

    Was gibts denn da für einen Fehler??



  • omg ich habe doch keine ahnung von der sache. kann mir nicht jemand das programm ein wenig umschreiben, damit ich weiss wie es ginge???



  • habs jetzt doch noch herausgefunden. werde aber mein werk hier nicht reinstellen 😃 😃 😃 😃


Anmelden zum Antworten