<?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[Verkette Liste]]></title><description><![CDATA[<p>Hey Leute,<br />
ich hab heute aus übungszwecken ( da ich das mit den verketteten listen noch nicht wirklich verstehe^^) aus einem beispielscript ( doppeltverkette liste) eine einfachverkettete liste nachzuprogrammieren. Naja dabei sind wie mans sich denken konnte aber fehler aufgetreten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title="=D"
      alt="😃"
    /></p>
<p>26 C:\Users\Fredi\Desktop\Projekte\Datenbank\main.cpp new types may not be defined in a return type</p>
<p>und</p>
<p>26 C:\Users\Fredi\Desktop\Projekte\Datenbank\main.cpp return type specification for constructor invalid</p>
<p>Und dann hier noch mein code:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;fstream.h&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;

using namespace std;

class Knoten
{
  public:
            Knoten(void);
            Knoten (int Alter); 
            ~Knoten(); 
 //Methoden 
            void SetzteAlter(int Alter); 
            void SetzteNachfolger(Knoten* Nachfolger); 
            Knoten* HoleNachfolger(void); 
            void Ausgabe(void); 
  private: 
            int m_Alter; 
            Knoten* m_Nachfolger;             
}

Knoten::Knoten(void) 
{  
    m_Nachfolger = NULL; 
    m_Alter = 0; 
} 

Knoten::Knoten(int Alter) 
{  
    m_Nachfolger = NULL; 
    m_Alter = Alter; 
} 

Knoten::~Knoten() 
{ 

} 

void Knoten::SetzteAlter(int Alter) 
{ 
    m_Alter = Alter; 
}  

void Knoten::SetzteNachfolger(Knoten* Nachfolger) 
{ 
    m_Nachfolger=Nachfolger; 
} 

Knoten* Knoten::HoleNachfolger(void) 
{ 
    return m_Nachfolger; 
}  

void Knoten::Ausgabe(void) 
{ 
    cout&lt;&lt; m_Alter &lt;&lt; endl; 
} 

class Liste 
{ 
public: 
    Liste(void); //Konstruktor 
    ~Liste(void); //Destruktor 

    void Hinzufuegen(Knoten* NeuerKnoten); 
    void Ausgeben(void); 
    void Loeschen(void); 

private: 
    Knoten* ListenAnfang; 
    Knoten* ListenEnde; 
}; 

//Die Zeiger ListenAnfang und ListenEnde mit NULL initialisieren 

Liste::Liste(void) 
{ 
    ListenEnde=ListenAnfang=NULL; 
} 

//Alle Knoten der Liste löschen, wenn die Liste gelöscht wird 

//Knoten in die Liste einfügen 
void Liste::Hinzufuegen(Knoten* NeuerKnoten) 

{ 
    if(ListenAnfang==NULL) 
    { 
        ListenAnfang=NeuerKnoten; 
        ListenEnde=NeuerKnoten; 
    }
    else 
    { 
        ListenEnde -&gt; SetzteNachfolger(NeuerKnoten); 
        ListenEnde = NeuerKnoten; 
    } 
} 

void Liste::Ausgeben() 
{ 
    Knoten* p=ListenAnfang; 

    //solange p nicht NULL ist 
    while(p) 
    { 
        //Ausgeben der Attribute 
        p -&gt; Ausgabe(); 
        //und p wird auf den NachfolgeKoten von p gesetzt 
        p = p -&gt; HoleNachfolger(); 
    } 
} 

//Demostration der Listenfunktionalität 

int main(void) 
{ 
    Liste DieListe;        //Liste instanzieren 

    //einen neunen Knoten erzeugen 
    Knoten* k = new Knoten(12); 
    //den Knoten einfügen 
    DieListe.Hinzufuegen(k); 

    //Noch einen Knoten erzeugen, diesmal noch ohne Inhalt 
    k = new Knoten(); 

    //den Knoten Werte zuweisen 
    k-&gt;SetzteAlter(32);  

    //ebenfalls einfügen 
    DieListe.Hinzufuegen(k); 

    //das Eingegebene ausgeben 
    DieListe.Ausgeben(); 

    return 0; 
}
</code></pre>
<p>Könnte mir da vll jemand sagen wo der fehler liegt vll. besser noch den Fehler etwas erklären ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title="=D"
      alt="😃"
    /></p>
<p>mfg friedrich</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289175/verkette-liste</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 07:33:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289175.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jun 2011 15:32:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 15:32:19 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
ich hab heute aus übungszwecken ( da ich das mit den verketteten listen noch nicht wirklich verstehe^^) aus einem beispielscript ( doppeltverkette liste) eine einfachverkettete liste nachzuprogrammieren. Naja dabei sind wie mans sich denken konnte aber fehler aufgetreten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title="=D"
      alt="😃"
    /></p>
<p>26 C:\Users\Fredi\Desktop\Projekte\Datenbank\main.cpp new types may not be defined in a return type</p>
<p>und</p>
<p>26 C:\Users\Fredi\Desktop\Projekte\Datenbank\main.cpp return type specification for constructor invalid</p>
<p>Und dann hier noch mein code:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;fstream.h&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;

using namespace std;

class Knoten
{
  public:
            Knoten(void);
            Knoten (int Alter); 
            ~Knoten(); 
 //Methoden 
            void SetzteAlter(int Alter); 
            void SetzteNachfolger(Knoten* Nachfolger); 
            Knoten* HoleNachfolger(void); 
            void Ausgabe(void); 
  private: 
            int m_Alter; 
            Knoten* m_Nachfolger;             
}

Knoten::Knoten(void) 
{  
    m_Nachfolger = NULL; 
    m_Alter = 0; 
} 

Knoten::Knoten(int Alter) 
{  
    m_Nachfolger = NULL; 
    m_Alter = Alter; 
} 

Knoten::~Knoten() 
{ 

} 

void Knoten::SetzteAlter(int Alter) 
{ 
    m_Alter = Alter; 
}  

void Knoten::SetzteNachfolger(Knoten* Nachfolger) 
{ 
    m_Nachfolger=Nachfolger; 
} 

Knoten* Knoten::HoleNachfolger(void) 
{ 
    return m_Nachfolger; 
}  

void Knoten::Ausgabe(void) 
{ 
    cout&lt;&lt; m_Alter &lt;&lt; endl; 
} 

class Liste 
{ 
public: 
    Liste(void); //Konstruktor 
    ~Liste(void); //Destruktor 

    void Hinzufuegen(Knoten* NeuerKnoten); 
    void Ausgeben(void); 
    void Loeschen(void); 

private: 
    Knoten* ListenAnfang; 
    Knoten* ListenEnde; 
}; 

//Die Zeiger ListenAnfang und ListenEnde mit NULL initialisieren 

Liste::Liste(void) 
{ 
    ListenEnde=ListenAnfang=NULL; 
} 

//Alle Knoten der Liste löschen, wenn die Liste gelöscht wird 

//Knoten in die Liste einfügen 
void Liste::Hinzufuegen(Knoten* NeuerKnoten) 

{ 
    if(ListenAnfang==NULL) 
    { 
        ListenAnfang=NeuerKnoten; 
        ListenEnde=NeuerKnoten; 
    }
    else 
    { 
        ListenEnde -&gt; SetzteNachfolger(NeuerKnoten); 
        ListenEnde = NeuerKnoten; 
    } 
} 

void Liste::Ausgeben() 
{ 
    Knoten* p=ListenAnfang; 

    //solange p nicht NULL ist 
    while(p) 
    { 
        //Ausgeben der Attribute 
        p -&gt; Ausgabe(); 
        //und p wird auf den NachfolgeKoten von p gesetzt 
        p = p -&gt; HoleNachfolger(); 
    } 
} 

//Demostration der Listenfunktionalität 

int main(void) 
{ 
    Liste DieListe;        //Liste instanzieren 

    //einen neunen Knoten erzeugen 
    Knoten* k = new Knoten(12); 
    //den Knoten einfügen 
    DieListe.Hinzufuegen(k); 

    //Noch einen Knoten erzeugen, diesmal noch ohne Inhalt 
    k = new Knoten(); 

    //den Knoten Werte zuweisen 
    k-&gt;SetzteAlter(32);  

    //ebenfalls einfügen 
    DieListe.Hinzufuegen(k); 

    //das Eingegebene ausgeben 
    DieListe.Ausgeben(); 

    return 0; 
}
</code></pre>
<p>Könnte mir da vll jemand sagen wo der fehler liegt vll. besser noch den Fehler etwas erklären ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title="=D"
      alt="😃"
    /></p>
<p>mfg friedrich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086158</guid><dc:creator><![CDATA[friedrich]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 15:36:46 GMT]]></title><description><![CDATA[<p>Es fehlt ein Semikolon am Ende der Definition von Knoten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086159</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:36:46 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 15:40:51 GMT]]></title><description><![CDATA[<p>Da feht ein Semikolon bei der Klasse Knoten und der Destruktor fehlt, müsste noch sowas rein:</p>
<pre><code class="language-cpp">Liste::~Liste(void)
{

}
</code></pre>
<p>Das void lässt man in C++ als Parameter normalerweise weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086164</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 15:42:20 GMT]]></title><description><![CDATA[<p>mmh wenn ich nach</p>
<pre><code class="language-cpp">class Knoten
</code></pre>
<p>das semikolon setze kommt nur</p>
<p>10 C:\Users\Fredi\Desktop\Projekte\Datenbank\main.cpp expected unqualified-id before '{' token</p>
<p>noch dazu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086166</guid><dc:creator><![CDATA[friedrich]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 15:44:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class Knoten 
{ 
  public: 
            Knoten(void); 
            Knoten (int Alter); 
            ~Knoten(); 
 //Methoden 
            void SetzteAlter(int Alter); 
            void SetzteNachfolger(Knoten* Nachfolger); 
            Knoten* HoleNachfolger(void); 
            void Ausgabe(void); 
  private: 
            int m_Alter; 
            Knoten* m_Nachfolger;             
}; // Hier kommt das Semikolon hin
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2086167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086167</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:44:22 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 15:46:43 GMT]]></title><description><![CDATA[<p>ahh vielen dank euch hat geklappt <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>hab ich mich am ende auch noch doof angestellt und das semikolon falsch gesetzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title="=D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086169</guid><dc:creator><![CDATA[friedrich]]></dc:creator><pubDate>Wed, 29 Jun 2011 15:46:43 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Wed, 29 Jun 2011 21:53:32 GMT]]></title><description><![CDATA[<p>Wenn ich dir mal ein paar Ratschläge geben darf:<br />
1.) Diese Liste ist ziemlich &quot;C-like&quot;, heißt, der Benutzer muss mit vielen Zeigern + mit new hantieren. Mach doch Funktionen, mit denen man die Daten direkt einfügen kann, als dass man sich zuerst Knoten erzeugen muss.<br />
2.) An deiner Stelle würde ich die Daten (Alter) vom Knoten trennen. Mach jeweils eine eigene Klasse, dann kannst du auch Listen von anderen Typen machen.<br />
3.) Für das Ausgeben würde ich den Stream-Operator überladen. Dann kannst du die Daten auch problemlos in z.B. Dateien schreiben.</p>
<p>Du kannst dir ja mal std::list ansehen und versuchen, dich ein bisschen daran zu orientieren. Muss ja nicht gleich ein Template mit Allokator und Iteratoren sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086337</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 29 Jun 2011 21:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to Verkette Liste on Thu, 30 Jun 2011 14:25:45 GMT]]></title><description><![CDATA[<p>Wozu bindest du &lt;cstdlib&gt; UND das (nicht standardkonforme) &lt;stdlib.h&gt; ein? Eins von beiden reicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086685</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 30 Jun 2011 14:25:45 GMT</pubDate></item></channel></rss>