<?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[Class Templates Problem]]></title><description><![CDATA[<p>Hallihallo,</p>
<p>Ich bin grad mit einer recht seltsamen Fehlermeldung überfordert.<br />
Beschäftige mich mit Klassentemplates. Hab auch alles brav in die Header Datei gemacht.</p>
<pre><code>#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;deque&gt;
#include &lt;iterator&gt;

using namespace std;

template&lt;typename T&gt;
class List {
public:
    List(){
        pos = 0;
    };
    List(const List&amp; orig);

    virtual ~List();

    bool end(){
        if(pos == deq.size())
            return true;
        else
            return false;
    };

    void ins(T element){
        deq.insert(deq.begin()+pos, element);
    };

    void adv(){
        if(pos != deq.size())
            pos = pos+1;
        else
            cout &lt;&lt; &quot;Pos kann nicht weiter verschoben werden&quot; &lt;&lt;endl;
    };

    void del(){
        deq.erase(deq.begin()+pos);
    };

    T get(){
        return deq[pos];
    };

    void reset(){
        pos = 0;
    };

    void show(){
        cout &lt;&lt; &quot;List ausgeben: &quot; &lt;&lt;endl;
        for(int i = 0; i&lt; deq.size();i++)
            cout &lt;&lt; deq[i];
    };
private:
    deque&lt;T&gt; deq;
    int pos;

};
</code></pre>
<p>In der main hab ich bis jetzt nur ein Objekt erzeugt.</p>
<pre><code>int main(int argc, char** argv) {

    List&lt;int&gt; l;

    return 0; // Fehlermeldung
}
</code></pre>
<p>Beim Return kommt die Fehlermeldung:<br />
&quot;Relocation truncated to fit: R_X86_64_PC32 against undefined symbol 'List&lt;int&gt;::~List()'</p>
<p>Weiß jemand was das bedeutet?</p>
<p>Danke für euren Rat <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/332688/class-templates-problem</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 16:35:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332688.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 May 2015 10:04:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:04:31 GMT]]></title><description><![CDATA[<p>Hallihallo,</p>
<p>Ich bin grad mit einer recht seltsamen Fehlermeldung überfordert.<br />
Beschäftige mich mit Klassentemplates. Hab auch alles brav in die Header Datei gemacht.</p>
<pre><code>#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;deque&gt;
#include &lt;iterator&gt;

using namespace std;

template&lt;typename T&gt;
class List {
public:
    List(){
        pos = 0;
    };
    List(const List&amp; orig);

    virtual ~List();

    bool end(){
        if(pos == deq.size())
            return true;
        else
            return false;
    };

    void ins(T element){
        deq.insert(deq.begin()+pos, element);
    };

    void adv(){
        if(pos != deq.size())
            pos = pos+1;
        else
            cout &lt;&lt; &quot;Pos kann nicht weiter verschoben werden&quot; &lt;&lt;endl;
    };

    void del(){
        deq.erase(deq.begin()+pos);
    };

    T get(){
        return deq[pos];
    };

    void reset(){
        pos = 0;
    };

    void show(){
        cout &lt;&lt; &quot;List ausgeben: &quot; &lt;&lt;endl;
        for(int i = 0; i&lt; deq.size();i++)
            cout &lt;&lt; deq[i];
    };
private:
    deque&lt;T&gt; deq;
    int pos;

};
</code></pre>
<p>In der main hab ich bis jetzt nur ein Objekt erzeugt.</p>
<pre><code>int main(int argc, char** argv) {

    List&lt;int&gt; l;

    return 0; // Fehlermeldung
}
</code></pre>
<p>Beim Return kommt die Fehlermeldung:<br />
&quot;Relocation truncated to fit: R_X86_64_PC32 against undefined symbol 'List&lt;int&gt;::~List()'</p>
<p>Weiß jemand was das bedeutet?</p>
<p>Danke für euren Rat <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2453782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453782</guid><dc:creator><![CDATA[Cabooze]]></dc:creator><pubDate>Sun, 17 May 2015 10:04:31 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:08:22 GMT]]></title><description><![CDATA[<p>Du hast aus unerklärlichen Gründen einen virtuallen Destruktor deklariert, ihn aber nirgends definiert.<br />
Lösche ihn am besten, er ist überflüssig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453783</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 17 May 2015 10:08:22 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:11:28 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Du hast aus unerklärlichen Gründen einen virtuallen Destruktor deklariert, ihn aber nirgends definiert.<br />
Lösche ihn am besten, er ist überflüssig.</p>
</blockquote>
<p>Ups. Der wurde automatisch erzeugt.<br />
Danke. Brauch ich nicht stattdessen einen anderen Destruktor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453785</guid><dc:creator><![CDATA[Cabooze]]></dc:creator><pubDate>Sun, 17 May 2015 10:11:28 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:32:30 GMT]]></title><description><![CDATA[<p>Cabooze schrieb:</p>
<blockquote>
<p>Danke. Brauch ich nicht stattdessen einen anderen Destruktor?</p>
</blockquote>
<p>Nein, wozu solltest du einen brauchen?<br />
Und der Kopierkonstruktor ist ebenfalls überflüssig und nicht implementiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453786</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 17 May 2015 10:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:47:24 GMT]]></title><description><![CDATA[<p>Okay. Ist entfernt.<br />
Jetzt hab ich aber nochmal ein anderes Problem mit einer anderen Klasse. Hab noch eine zweite Klasse gemacht. Ich bekomme die selbe Fehlermeldung, nur dass er diesmal was gegen den Konstruktor hat und nicht den Destruktor. Aber den kann ich doch nicht weglassen???</p>
<p>relocation truncated to fit: R_X86_64_PC32 against undefined symbol `Queue&lt;int&gt;::Queue()'</p>
<pre><code>template&lt;typename T&gt;
class Queue {
public:
    Queue();

    void empty(){
        l.erase(l.begin(), l.end());
    };
    void enq(T element){
        l.insert(l.begin(),element);
    };
    void deq(){
        l.erase(l.end());
    };
    T front(){
        l.front();
    };

    void show(){
        for(list&lt;T&gt;::const_iterator i = l.begin(); i != l.end(); i++){
            cout &lt;&lt; *i &lt;&lt; &quot; &quot;;
        }
        cout &lt;&lt; endl;
    };
private:
    list&lt;T&gt; l;

};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2453789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453789</guid><dc:creator><![CDATA[Cabooze]]></dc:creator><pubDate>Sun, 17 May 2015 10:47:24 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:53:07 GMT]]></title><description><![CDATA[<p>1. Natürlich kannst du ihn weglassen<br />
2. Du hast ihn wieder nicht implementiert</p>
<p><strong>Bevor</strong> du dich mit Templates beschäftigst, solltest du Grundlagen zu Klassen beherrschen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453791</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 17 May 2015 10:53:07 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:56:16 GMT]]></title><description><![CDATA[<p>Okay. Das war mir jetzt neu.</p>
<p>Allerdings kommt die Fehlermeldung immernoch. Der Konstruktor ist weg.</p>
<pre><code>int main(int argc, char** argv) {

    Queue&lt;int&gt; q; // Die Fehlermeldung kommt diesmal hier. Nicht beim return

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2453792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453792</guid><dc:creator><![CDATA[Cabooze]]></dc:creator><pubDate>Sun, 17 May 2015 10:56:16 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 10:59:43 GMT]]></title><description><![CDATA[<p>Kann eigentlich nicht, wenn du ihn wirklich entfernt hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453793</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 17 May 2015 10:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 11:03:38 GMT]]></title><description><![CDATA[<p>Er ist 100%ig weg <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/2453794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453794</guid><dc:creator><![CDATA[Cabooze]]></dc:creator><pubDate>Sun, 17 May 2015 11:03:38 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 11:07:49 GMT]]></title><description><![CDATA[<p>Cabooze schrieb:</p>
<blockquote>
<p>Er ist 100%ig weg <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>
</blockquote>
<p>Rebuild all</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453795</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 17 May 2015 11:07:49 GMT</pubDate></item><item><title><![CDATA[Reply to Class Templates Problem on Sun, 17 May 2015 11:09:15 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Cabooze schrieb:</p>
<blockquote>
<p>Er ist 100%ig weg <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>
</blockquote>
<p>Rebuild all</p>
</blockquote>
<p>Oh. BÄM :D. Klappt. Dankesehr^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2453796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2453796</guid><dc:creator><![CDATA[Cabooze]]></dc:creator><pubDate>Sun, 17 May 2015 11:09:15 GMT</pubDate></item></channel></rss>