<?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[undefined reference to...]]></title><description><![CDATA[<p>hab mal wieder n Problem mit ner undefiened reference und zwar ist die Aufgabe einen SparseVector in eine Template Klasse umzuschreiben. Soweit so gut. das kompilieren des SparseVectors und des Testprogramms laufen durch beim linken erhalte ich aber massenweise undefined references die entweder auf den constructor, den copy-constructor oder auf den destructor verweisen:<br />
&quot;undefined reference to 'SparseVector&lt;int&gt;::~SparseVector()'&quot;</p>
<pre><code class="language-cpp">/* DESTRUCTOR */
  ~SparseVector();  // destructor; frees allocated nodes
</code></pre>
<p>der Destrcutor im Header<br />
und im cc-file ist folgendes</p>
<pre><code class="language-cpp">template &lt;class T&gt;
SparseVector&lt;T&gt;::~SparseVector() {
  clear();
}
</code></pre>
<p>kann mir jemand erklären wieso ich da ne undefined Reference bekomme? oder muss ich den ganzen kram in meinen Header schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200571/undefined-reference-to</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 01:16:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200571.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Dec 2007 20:49:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 20:49:57 GMT]]></title><description><![CDATA[<p>hab mal wieder n Problem mit ner undefiened reference und zwar ist die Aufgabe einen SparseVector in eine Template Klasse umzuschreiben. Soweit so gut. das kompilieren des SparseVectors und des Testprogramms laufen durch beim linken erhalte ich aber massenweise undefined references die entweder auf den constructor, den copy-constructor oder auf den destructor verweisen:<br />
&quot;undefined reference to 'SparseVector&lt;int&gt;::~SparseVector()'&quot;</p>
<pre><code class="language-cpp">/* DESTRUCTOR */
  ~SparseVector();  // destructor; frees allocated nodes
</code></pre>
<p>der Destrcutor im Header<br />
und im cc-file ist folgendes</p>
<pre><code class="language-cpp">template &lt;class T&gt;
SparseVector&lt;T&gt;::~SparseVector() {
  clear();
}
</code></pre>
<p>kann mir jemand erklären wieso ich da ne undefined Reference bekomme? oder muss ich den ganzen kram in meinen Header schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421641</guid><dc:creator><![CDATA[Rocko105]]></dc:creator><pubDate>Sun, 16 Dec 2007 20:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 21:03:54 GMT]]></title><description><![CDATA[<p>template --&gt; alles in den header</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421648</guid><dc:creator><![CDATA[hey]]></dc:creator><pubDate>Sun, 16 Dec 2007 21:03:54 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 21:20:19 GMT]]></title><description><![CDATA[<p>heißt das, dass ich wirklich alles in den header schreiben muss? dachte bislang, dass nur funktionen die eine class T übergeben bekommen oder diese zurückgeben in den Header kommen?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421662</guid><dc:creator><![CDATA[Rocko105]]></dc:creator><pubDate>Sun, 16 Dec 2007 21:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 21:32:52 GMT]]></title><description><![CDATA[<p>Rocko105 schrieb:</p>
<blockquote>
<p>heißt das, dass ich wirklich alles in den header schreiben muss? dachte bislang, dass nur funktionen die eine class T übergeben bekommen oder diese zurückgeben in den Header kommen?!</p>
</blockquote>
<p>Templates müssen immer komplett definiert sein. Alternativ gibt es 2 weitere Varianten die aber beide Probleme haben:<br />
a) Die eine Variante kann bislang soviel ich weiß nur der Comeau C++ Compiler (Templateexport)<br />
b) Man includiert nicht den Header sondern die C++ - Imho eine sehr unschöne Sache da sehr gewöhnungsbedüftig</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421673</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sun, 16 Dec 2007 21:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 21:35:15 GMT]]></title><description><![CDATA[<p>brauch ich denn dann überhaupt n SourceFile? Das würde dann ja völlig wegfallen?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421675</guid><dc:creator><![CDATA[Rocko105]]></dc:creator><pubDate>Sun, 16 Dec 2007 21:35:15 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 21:37:24 GMT]]></title><description><![CDATA[<p>Rocko105 schrieb:</p>
<blockquote>
<p>brauch ich denn dann überhaupt n SourceFile? Das würde dann ja völlig wegfallen?!</p>
</blockquote>
<p>Nein, in der Regel arbeitet man bei Templates ausschließlich mit Headern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421678</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sun, 16 Dec 2007 21:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Sun, 16 Dec 2007 21:42:34 GMT]]></title><description><![CDATA[<p>dann versteh ich nicht, warum unser Prof das cc file haben will..naja jetzt läuft es auch <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="🙂"
    /> *freu*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1421684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421684</guid><dc:creator><![CDATA[Rocko105]]></dc:creator><pubDate>Sun, 16 Dec 2007 21:42:34 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Mon, 17 Dec 2007 12:51:30 GMT]]></title><description><![CDATA[<p>Der eine oder andere macht es so, dass er im Header zuerst ein ganz normale KLassendefinition macht bei der die Methoden lediglich deklariert werden, wie bei normalen klassen auch. Da beim KLassentemplate aber die definition der methoden mitgeliefert werden muss, includiert man diese am Ende des Headers - ob die dann .cc oder .tpl oder wie auch immer heißt ist dem Einzelnen überlassen.</p>
<pre><code class="language-cpp">//X.h

template &lt;class T&gt;
class X {
public:
  void foo(); //deklaration
};

#include &quot;X.tpl&quot; //definitionen einbinden

//X.tpl
template &lt;class T&gt;
void X&lt;T&gt;::foo() {/*...*/}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1421937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1421937</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 17 Dec 2007 12:51:30 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Mon, 17 Dec 2007 16:21:13 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>a) Die eine Variante kann bislang soviel ich weiß nur der Comeau C++ Compiler (Templateexport)</p>
</blockquote>
<p>IMO kann das der neue Borland/Codegear Compiler mittlerweile auch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1422121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1422121</guid><dc:creator><![CDATA[darthdespotism]]></dc:creator><pubDate>Mon, 17 Dec 2007 16:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to undefined reference to... on Mon, 17 Dec 2007 17:41:29 GMT]]></title><description><![CDATA[<p>In der Hilfe zum BCB2007 steht, dass export noch nicht implementiert sei. Ich werde es am besten mal ausprobieren.<br />
[edit]<br />
Nun habe ich es getestet. Es ist wie die Hilfe sagt, noch nicht implementiert. Beim Linken kommt eine undefined reference.<br />
[edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1422170</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1422170</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 17 Dec 2007 17:41:29 GMT</pubDate></item></channel></rss>