<?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[Fehler beim Linken]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich kriege folgende Fehler beim Compilieren:</p>
<blockquote>
<p>g++ -o ListTest List.h List.cpp main.cpp<br />
/tmp/ccgGN7aN.o: In function <code>main': main.cpp:(.text+0x8b): undefined reference to</code>structure::List&lt;int&gt;::List()'<br />
main.cpp:(.text+0x9e): undefined reference to <code>structure::List&lt;int&gt;::addElement(int)' main.cpp:(.text+0xb1): undefined reference to</code>structure::List&lt;int&gt;::addElement(int)'<br />
main.cpp:(.text+0xc4): undefined reference to <code>structure::List&lt;int&gt;::addElement(int)' main.cpp:(.text+0xd7): undefined reference to</code>std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp; structure::operator&lt;&lt; &lt;int&gt;(std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, structure::List&lt;int&gt; const&amp;)'<br />
main.cpp:(.text+0xf7): undefined reference to <code>structure::List&lt;int&gt;::~List()' main.cpp:(.text+0x10d): undefined reference to</code>structure::List&lt;int&gt;::~List()'<br />
collect2: ld gab 1 als Ende-Status zurück</p>
</blockquote>
<p>Der Code:<br />
List.h</p>
<pre><code class="language-cpp">#ifndef _LIST_H_
#define _LIST_H_

#include &lt;ostream&gt;

using namespace std;

namespace structure
{

template &lt;typename T&gt;
class List
{
private:
        struct ListElement
        {
                T data;
                ListElement *next;
        };
        ListElement *head;
        ListElement *tail;
        int size;
public:
        List();
        virtual ~List();
        void addElement(const T element);
        bool removeElement(const T element);
        int getSize() const;
        template &lt;T&gt;
        friend ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list);
};

template &lt;typename T&gt;
ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list);

};

#endif /* LIST_H_ */
</code></pre>
<p>List.cpp</p>
<pre><code class="language-cpp">1 #include &lt;cstdlib&gt;
  2 #include &quot;List.h&quot;
  3
  4 namespace structure
  5 {
  6
  7 template &lt;typename T&gt;
  8 List&lt;T&gt;::List() : size(0), head(NULL), tail(NULL)
  9 {
 10 }
 11
 12 template &lt;typename T&gt;
 13 List&lt;T&gt;::~List()
 14 {
 15         ListElement *tmp;
 16         for (int i = 0; i &lt; size; i++) {
 17                 tmp = head;
 18                 head = head-&gt;next;
 19                 delete tmp;
 20         }
 21         size = 0;
 22 }
 23
 24 template &lt;typename T&gt;
 25 void List&lt;T&gt;::addElement(const T element)
 26 {
 27         ListElement *newElement;
 28         newElement = new ListElement;
 29         newElement-&gt;data = element;
 30         newElement-&gt;next = NULL;
 31         tail-&gt;next = newElement;
 32         tail = newElement;
 33         size++;
 34 }
 35
 36 template &lt;typename T&gt;
 37 bool List&lt;T&gt;::removeElement(const T element)
 38 {
 39         return true;
 40 }
 41
 42 template &lt;typename T&gt;
 43 int List&lt;T&gt;::getSize() const
 44 {
 45         return size;
 46 }
47
 48
 49 template &lt;typename T&gt;
 50 ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list)
 51 {
 52         struct List&lt;T&gt;::ListElement *listElement;
 53
 54         listElement = list-&gt;head;
 55
 56         for (int i = 0; i &lt; list-&gt;size; i++) {
 57                 o &lt;&lt; listElement-&gt;data;
 58                 listElement = listElement-&gt;next;
 59         }
 60
 61         return o;
 62
 63 }
 64
 65 };
 66
</code></pre>
<p>main.cpp :</p>
<pre><code class="language-cpp">1 #include &lt;iostream&gt;
  2 #include &lt;cstdlib&gt;
  3 #include &quot;List.h&quot;
  4
  5 using namespace std;
  6 using namespace structure;
  7
  8 int main (int argc, char *argv[])
  9 {
 10         List&lt;int&gt; list;
 11
 12         list.addElement(1);
 13         list.addElement(2);
 14         list.addElement(5);
 15
 16         cout &lt;&lt; list &lt;&lt; endl;
 17
 18         return EXIT_SUCCESS;
 19 }
</code></pre>
<p>Bitte um Hilfe.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203453/fehler-beim-linken</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 14:02:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203453.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jan 2008 21:10:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler beim Linken on Tue, 22 Jan 2008 21:10:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich kriege folgende Fehler beim Compilieren:</p>
<blockquote>
<p>g++ -o ListTest List.h List.cpp main.cpp<br />
/tmp/ccgGN7aN.o: In function <code>main': main.cpp:(.text+0x8b): undefined reference to</code>structure::List&lt;int&gt;::List()'<br />
main.cpp:(.text+0x9e): undefined reference to <code>structure::List&lt;int&gt;::addElement(int)' main.cpp:(.text+0xb1): undefined reference to</code>structure::List&lt;int&gt;::addElement(int)'<br />
main.cpp:(.text+0xc4): undefined reference to <code>structure::List&lt;int&gt;::addElement(int)' main.cpp:(.text+0xd7): undefined reference to</code>std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp; structure::operator&lt;&lt; &lt;int&gt;(std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, structure::List&lt;int&gt; const&amp;)'<br />
main.cpp:(.text+0xf7): undefined reference to <code>structure::List&lt;int&gt;::~List()' main.cpp:(.text+0x10d): undefined reference to</code>structure::List&lt;int&gt;::~List()'<br />
collect2: ld gab 1 als Ende-Status zurück</p>
</blockquote>
<p>Der Code:<br />
List.h</p>
<pre><code class="language-cpp">#ifndef _LIST_H_
#define _LIST_H_

#include &lt;ostream&gt;

using namespace std;

namespace structure
{

template &lt;typename T&gt;
class List
{
private:
        struct ListElement
        {
                T data;
                ListElement *next;
        };
        ListElement *head;
        ListElement *tail;
        int size;
public:
        List();
        virtual ~List();
        void addElement(const T element);
        bool removeElement(const T element);
        int getSize() const;
        template &lt;T&gt;
        friend ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list);
};

template &lt;typename T&gt;
ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list);

};

#endif /* LIST_H_ */
</code></pre>
<p>List.cpp</p>
<pre><code class="language-cpp">1 #include &lt;cstdlib&gt;
  2 #include &quot;List.h&quot;
  3
  4 namespace structure
  5 {
  6
  7 template &lt;typename T&gt;
  8 List&lt;T&gt;::List() : size(0), head(NULL), tail(NULL)
  9 {
 10 }
 11
 12 template &lt;typename T&gt;
 13 List&lt;T&gt;::~List()
 14 {
 15         ListElement *tmp;
 16         for (int i = 0; i &lt; size; i++) {
 17                 tmp = head;
 18                 head = head-&gt;next;
 19                 delete tmp;
 20         }
 21         size = 0;
 22 }
 23
 24 template &lt;typename T&gt;
 25 void List&lt;T&gt;::addElement(const T element)
 26 {
 27         ListElement *newElement;
 28         newElement = new ListElement;
 29         newElement-&gt;data = element;
 30         newElement-&gt;next = NULL;
 31         tail-&gt;next = newElement;
 32         tail = newElement;
 33         size++;
 34 }
 35
 36 template &lt;typename T&gt;
 37 bool List&lt;T&gt;::removeElement(const T element)
 38 {
 39         return true;
 40 }
 41
 42 template &lt;typename T&gt;
 43 int List&lt;T&gt;::getSize() const
 44 {
 45         return size;
 46 }
47
 48
 49 template &lt;typename T&gt;
 50 ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list)
 51 {
 52         struct List&lt;T&gt;::ListElement *listElement;
 53
 54         listElement = list-&gt;head;
 55
 56         for (int i = 0; i &lt; list-&gt;size; i++) {
 57                 o &lt;&lt; listElement-&gt;data;
 58                 listElement = listElement-&gt;next;
 59         }
 60
 61         return o;
 62
 63 }
 64
 65 };
 66
</code></pre>
<p>main.cpp :</p>
<pre><code class="language-cpp">1 #include &lt;iostream&gt;
  2 #include &lt;cstdlib&gt;
  3 #include &quot;List.h&quot;
  4
  5 using namespace std;
  6 using namespace structure;
  7
  8 int main (int argc, char *argv[])
  9 {
 10         List&lt;int&gt; list;
 11
 12         list.addElement(1);
 13         list.addElement(2);
 14         list.addElement(5);
 15
 16         cout &lt;&lt; list &lt;&lt; endl;
 17
 18         return EXIT_SUCCESS;
 19 }
</code></pre>
<p>Bitte um Hilfe.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441615</guid><dc:creator><![CDATA[HilfeSuchender_]]></dc:creator><pubDate>Tue, 22 Jan 2008 21:10:05 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Linken on Tue, 22 Jan 2008 22:30:08 GMT]]></title><description><![CDATA[<p>[quote=&quot;HilfeSuchender_&quot;]<br />
ich kriege folgende Fehler beim Compilieren:...<br />
[\quote]</p>
<p>Von meiner Seite bekommst du auch noch weitere Fehler und Anmerkungen genannt, dazu aber gleich mehr.</p>
<p>Grundsätzlich:<br />
Template komplett in den Header (inklusive der &quot;Definition&quot;), Templates sind nur Schablonen die immer ganz bekannt sein müssen. Die Templatedeklaration ist also im Gegensatz zu normalen Klassen nur inkl. der Ausgestalltung vollständig.<br />
Alternativ kannst du bei Header (aber sehr ungewöhlich) statt dessen die cpp inkludieren. Wenn man dies tut sollte man sie aber erkennbar machen (z.B. statt cpp tpl oder so nennen).</p>
<blockquote>
<p>Der Code:<br />
List.h</p>
<pre><code class="language-cpp">#ifndef _LIST_H_
#define _LIST_H_

#include &lt;ostream&gt;

using namespace std;
</code></pre>
</blockquote>
<p>NIEMALS ein using namespace in einen Header oder eine Templatedefinition schreiben! (Nachteile überwiegen hier die Vorteile)</p>
<blockquote>
<pre><code class="language-cpp">List();
    virtual ~List();
</code></pre>
</blockquote>
<p>Da du mit Zeigern und dynamisch allozierten Speicher arbeitest reicht dies nicht!</p>
<p>Du musst auch entweder den Zuweisungsoperator und Kopierkonstruktor implementieren, oder die automatische Generierung verhindern. Davon abgesehen würde ich die Klasse nicht wie du mit virtual ~List() andeutest als Basisklasse zum ableiten vorsehen.</p>
<blockquote>
<pre><code class="language-cpp">void addElement(const T element);
</code></pre>
</blockquote>
<p>Bei unbekannten Typ wenn du nicht mit Typetraits arbeitest (wenn es dir nichts sagt stört es zu dem moment nicht) solltest du lieber mit const Referenzen arbeiten.</p>
<blockquote>
<p>List.cpp</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
</code></pre>
</blockquote>
<p>Raus weg, pfui, aus... Zum einen verwendest du diese C-Lib nicht zum anderen solltest du lieber wenn bei C++ bleiben. Und wie gesagt gehört die Datei weg und bei Templates alles in den Header.</p>
<blockquote>
<p>List.cpp</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; size; i++) {
</code></pre>
</blockquote>
<p>Ich weiß das ist jetzt Haarspalterei: Aber im Zweifel wenn es die Lesbarkeit nicht ändert immer ++i statt i++ verwenden. Bei integralen Datentypen macht das vielleicht noch nichts aus, aber bei Klassen kann dies gewaltige Unterschiede machen.<br />
++i : Erhöht i direkt und gibt es dann zurück<br />
i++ : Erzeugt zuerst eine Kopie, erhöht dann i und gibt die Kopie zurück<br />
Bei Klassen sollte man unnötige Kopien vermeiden, wenn man es sich gleich angewöhnt macht man den fehler nicht.</p>
<p>Wieso setzt du eigentlich am Ende des Destruktors noch size auf 0, die Variable existiert anschließend eh nicht mehr <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>
<blockquote>
<p>main.cpp :</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
// Auch hier weg: #include &lt;cstdlib&gt; 
#include &quot;List.h&quot;

using namespace std; // Hier akzeptabel
using namespace structure;

// ich würde mit &quot;int main()&quot; arbeiten wenn ich die Argumente nicht brauche
int main (int argc, char *argv[])
{
    ...
    // Ist EXIT_SUCCESS im Standard definiert oder mal wieder VC-Gedöhns???
    // Habe ich in meinen 10 Jahren C++ noch nicht im Standard bemerkt
    // und verwende selbst return 0;
    return EXIT_SUCCESS;
}
</code></pre>
</blockquote>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441662</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:30:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Linken on Tue, 22 Jan 2008 22:59:17 GMT]]></title><description><![CDATA[<p>Vielen Dank für die umfangreiche Hilfe <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>asc schrieb:</p>
<blockquote>
<p>Template komplett in den Header (inklusive der &quot;Definition&quot;), Templates sind nur Schablonen die immer ganz bekannt sein müssen. Die Templatedeklaration ist also im Gegensatz zu normalen Klassen nur inkl. der Ausgestalltung vollständig.</p>
</blockquote>
<p>Vielen Dank, das hat geholfen.</p>
<p>asc schrieb:</p>
<blockquote>
<p>NIEMALS ein using namespace in einen Header oder eine Templatedefinition schreiben! (Nachteile überwiegen hier die Vorteile)</p>
</blockquote>
<p>Soll ich das immer komplett (z.B. std::string) ausschreiben?</p>
<p>asc schrieb:</p>
<blockquote>
<p>Du musst auch entweder den Zuweisungsoperator und Kopierkonstruktor implementieren, oder die automatische Generierung verhindern.</p>
</blockquote>
<p>Was meinst Du mit &quot;automatische Generierung&quot; verhindern?</p>
<p>asc schrieb:</p>
<blockquote>
<p>Davon abgesehen würde ich die Klasse nicht wie du mit virtual ~List() andeutest als Basisklasse zum ableiten vorsehen.</p>
</blockquote>
<p>Ich habe irgendwo gelesen, dass man das als Faustregel immer machen sollte,<br />
da man nie weiß wer das ableitet.</p>
<p>[/quote]</p>
<p>asc schrieb:</p>
<blockquote>
<p>Bei unbekannten Typ [...] solltest du lieber mit const Referenzen arbeiten.</p>
</blockquote>
<p>So etwa: ??</p>
<pre><code class="language-cpp">void addElement(const T &amp;element);
</code></pre>
<p>asc schrieb:</p>
<blockquote>
<p>// ich würde mit &quot;int main()&quot; arbeiten wenn ich die Argumente nicht brauche<br />
int main (int argc, char *argv[])<br />
{<br />
...<br />
// Ist EXIT_SUCCESS im Standard definiert oder mal wieder VC-Gedöhns???<br />
// Habe ich in meinen 10 Jahren C++ noch nicht im Standard bemerkt<br />
// und verwende selbst return 0;<br />
return EXIT_SUCCESS;<br />
}<br />
[/cpp]</p>
</blockquote>
<p>EXIT_SUCCESS ist aus stdlib.h und wurde unter C (unter Linux) immer verwendet.</p>
<p>Gruß <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>cu André[/quote]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441673</guid><dc:creator><![CDATA[HilfeSuchender_]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:59:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Linken on Wed, 23 Jan 2008 01:50:50 GMT]]></title><description><![CDATA[<p>HilfeSuchender_ schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>NIEMALS ein using namespace in einen Header oder eine Templatedefinition schreiben! (Nachteile überwiegen hier die Vorteile)</p>
</blockquote>
<p>Soll ich das immer komplett (z.B. std::string) ausschreiben?</p>
</blockquote>
<p>Ja, sollst du. Allerdings ist das wirklich nur im Header so notwendig.</p>
<p>HilfeSuchender_ schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>Du musst auch entweder den Zuweisungsoperator und Kopierkonstruktor implementieren, oder die automatische Generierung verhindern.</p>
</blockquote>
<p>Was meinst Du mit &quot;automatische Generierung&quot; verhindern?</p>
</blockquote>
<p>Wenn du die beiden nicht erstellst macht das der Compiler für dich und der macht nur flache Kopien. Das würde bei dir in die Hose gehen.</p>
<p>HilfeSuchender_ schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>Bei unbekannten Typ [...] solltest du lieber mit const Referenzen arbeiten.</p>
</blockquote>
<p>So etwa: ??</p>
</blockquote>
<pre><code class="language-cpp">void addElement(const T &amp;element);
</code></pre>
<p>Ja, genau so. Ein späterer Nutzer könnte ja hier eine dicke Klasse nehmen wollen, was ja zu unnötigen Kopieraufwand führen würde.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441704</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 23 Jan 2008 01:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Linken on Wed, 23 Jan 2008 01:59:57 GMT]]></title><description><![CDATA[<p>HilfeSuchender_ schrieb:</p>
<blockquote>
<pre><code class="language-cpp">friend ostream&amp; operator&lt;&lt;(ostream &amp;o, const List&lt;T&gt; &amp;list);
</code></pre>
</blockquote>
<p>friend-Template direkt in der Klasse definieren, ansonsten bekommst du nen Linkerfehler nicht weg <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>-&gt; <a href="http://www.parashift.com/c++-faq-lite/templates.html#faq-35.16" rel="nofollow">http://www.parashift.com/c++-faq-lite/templates.html#faq-35.16</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441711</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 Jan 2008 01:59:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Linken on Wed, 23 Jan 2008 18:45:40 GMT]]></title><description><![CDATA[<p>HilfeSuchender_ schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>Du musst auch entweder den Zuweisungsoperator und Kopierkonstruktor implementieren, oder die automatische Generierung verhindern.</p>
</blockquote>
<p>Was meinst Du mit &quot;automatische Generierung&quot; verhindern?</p>
</blockquote>
<p>Wenn du schreibst:</p>
<pre><code class="language-cpp">class A { };
</code></pre>
<p>Generiert der Compiler daraus:</p>
<pre><code class="language-cpp">class A {
    public:
        A();
        ~A();
        A(const &amp; A);
        A&amp; operator=(const &amp; A);
};
</code></pre>
<p>Was bei Klassen ohne dynamische Speicherallozierung meist noch okay ist. Spätestens bei Zeigern und Speicherallozierung wird es aber problematisch. Hier solltest du entweder explizit den Zuweisungsoperator und Kopierkonstruktor verbieten (indem du ihn ohne Definition private deklarierst) oder diese komplett selbst definieren.</p>
<p>Wenn du bei deinem Code folgendes machst:</p>
<pre><code class="language-cpp">int main
{
    List list1;
    // ... Liste füllen ...
    {
        List list2 = list1; // Hier kommt der Compilergenerierte Kopierkonstruktor
        // zum Einsatz der alle Elemente 1:1 kopiert. In deinem Fall
        // Zeiger
    }   // &lt;-- Hier wird ~List() aufgerufen, und die Einträge gelöscht
        //     die aber nur in List1 alloziert wurden
    // &lt;-- Hier sind die Elemente von list1 daher auch ungültig
    //     (Die Zeiger verweisen ja auf einen gelöschten Speicherbereich
}   // &lt;-- Hier sollte es knallen (Access Violation oder so) da die
    //     Speicherbereiche durch den Destruktor von list1 ja nochmal
    //     versucht werden zu löschen.
</code></pre>
<p>Dies ist der Unterschied zwischen der flachen Kopie (Jedes Element wird 1:1 kopiert) und der tiefen Kopie (Man kopiert nur das 1:1 was möglich ist, für den Rest alloziert man z.B. neuen Speicher...).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441739</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 23 Jan 2008 18:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler beim Linken on Wed, 23 Jan 2008 18:03:50 GMT]]></title><description><![CDATA[<p>Vielen Dank für die zahlreichen Antworten <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="🙂"
    /><br />
Ihr habt mir sehr geholfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1442217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1442217</guid><dc:creator><![CDATA[HilfeSuchender_]]></dc:creator><pubDate>Wed, 23 Jan 2008 18:03:50 GMT</pubDate></item></channel></rss>