<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Problem in einfach verketteter Liste: Pointer-Übergabe fehlerhaft.]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich habe ein Problem mit meiner verketteten Liste. Wie schon im Titel dargestellt scheint die Pointer-Zuweisung nicht ganz zu klappen, wie ich es mir vorstelle.<br />
Ich zeige euch erst einmal den Code:<br />
(Er ist für die bessere Übersicht auf das Nötigste reduziert)</p>
<pre><code>//-----NODE-Klasse-----
class Node
{
    public:
        Node(int);
    private:
        Node *next;
};

void Node::setNext(Node *n){next = n;}
Node* Node::getNext(){return next;}

//-----LIST-Klasse-----
class List
{
    public:
        void add(int);
    private:
        Node *root;
};

void List::add(int c)
{
    Node* n = new Node(c);
    if(root == 0)
        root = n;
    else
    {
        Node* tmp = root;
        while(tmp-&gt;getNext() != 0)
            tmp = tmp-&gt;getNext();
        tmp-&gt;setNext(n);
    }
}
</code></pre>
<p>Das Programm hängt sich in einer Endlos-Schleife auf, wenn ich versuche, drei oder mehr Nodes hinzuzufügen.<br />
Den Fehler konnte ich schon eingrenzen: Er muss in der while-Schleife liegen. Ich nehme stark an, dass er in Zeile 31 liegt. Wahrscheinlich zeigt tmp die ganze zeit auf root.<br />
Es wäre toll, wenn mir jemand auf die Sprünge helfen könnte, wie ich den Pointer richtig übergebe.</p>
<p>Info: Ich nutze Dev-C++ 4.9.9.2. (bitte nicht hauen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> )</p>
<p>MfG, Dirt Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219027/problem-in-einfach-verketteter-liste-pointer-übergabe-fehlerhaft</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 14:23:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219027.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Jul 2008 20:40:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem in einfach verketteter Liste: Pointer-Übergabe fehlerhaft. on Mon, 28 Jul 2008 21:08:31 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich habe ein Problem mit meiner verketteten Liste. Wie schon im Titel dargestellt scheint die Pointer-Zuweisung nicht ganz zu klappen, wie ich es mir vorstelle.<br />
Ich zeige euch erst einmal den Code:<br />
(Er ist für die bessere Übersicht auf das Nötigste reduziert)</p>
<pre><code>//-----NODE-Klasse-----
class Node
{
    public:
        Node(int);
    private:
        Node *next;
};

void Node::setNext(Node *n){next = n;}
Node* Node::getNext(){return next;}

//-----LIST-Klasse-----
class List
{
    public:
        void add(int);
    private:
        Node *root;
};

void List::add(int c)
{
    Node* n = new Node(c);
    if(root == 0)
        root = n;
    else
    {
        Node* tmp = root;
        while(tmp-&gt;getNext() != 0)
            tmp = tmp-&gt;getNext();
        tmp-&gt;setNext(n);
    }
}
</code></pre>
<p>Das Programm hängt sich in einer Endlos-Schleife auf, wenn ich versuche, drei oder mehr Nodes hinzuzufügen.<br />
Den Fehler konnte ich schon eingrenzen: Er muss in der while-Schleife liegen. Ich nehme stark an, dass er in Zeile 31 liegt. Wahrscheinlich zeigt tmp die ganze zeit auf root.<br />
Es wäre toll, wenn mir jemand auf die Sprünge helfen könnte, wie ich den Pointer richtig übergebe.</p>
<p>Info: Ich nutze Dev-C++ 4.9.9.2. (bitte nicht hauen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> )</p>
<p>MfG, Dirt Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555275</guid><dc:creator><![CDATA[DirtDevil]]></dc:creator><pubDate>Mon, 28 Jul 2008 21:08:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem in einfach verketteter Liste: Pointer-Übergabe fehlerhaft. on Mon, 28 Jul 2008 23:16:37 GMT]]></title><description><![CDATA[<p>DirtDevil schrieb:</p>
<blockquote>
<p>Er ist für die bessere Übersicht auf das Nötigste reduziert</p>
</blockquote>
<p>Vermutlich ist auch der entscheidende Abschnitt von dannen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Du prüfst jeweils root und next auf 0 bzw !=0. Werden die Zeiger in den jeweiligen Konstruktoren der Objekte auch mit 0 initialisiert?</p>
<p>Könnte sein, dass du das nicht machst und somit vagabundierende Zeiger hast die dann irgendwann zum Absturz führen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555318</guid><dc:creator><![CDATA[Tipp]]></dc:creator><pubDate>Mon, 28 Jul 2008 23:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem in einfach verketteter Liste: Pointer-Übergabe fehlerhaft. on Tue, 29 Jul 2008 13:35:14 GMT]]></title><description><![CDATA[<p>Vielen Dank, Mr. Tipp <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Genau das war das Problem! root hatte ich schon mit 0 initialisiert, next allerdings war ohne Ziel.<br />
Ich gehöre zu den Leuten, die sich von Java aus auf C++ zubewegen, dabei wird man von der Pointer-Wirtschaft regelrecht erschlagen. In Java hat jedes deklarierte Objekt schon einen null-Zeiger; ich dachte, das wäre auch in C++ so. Naja, nachher ist man immer schlauer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Und in Zukunft werd ich auch wenigstens noch die Konstruktoren mitposten :p<br />
Nochmals vielen Dank!!!!</p>
<p>MfG, Dirt Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1555683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1555683</guid><dc:creator><![CDATA[DirtDevil]]></dc:creator><pubDate>Tue, 29 Jul 2008 13:35:14 GMT</pubDate></item></channel></rss>