<?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[Kleines Template Problem]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine kleine Template-Klasse geschrieben, die auch wunderbar läuft, so lange die Funktionen in der Header Datei zusammen mit der Klassendefinition stehen. Sobald ich die Funktionen in die ansonsten gleichnamige .cpp datei schreibe und den Header dort einbinde, wirft der Compiler beim Aufruf der Funktionen &quot;undefined reference&quot; aus.<br />
Könnt ihr mir sagen worans liegt?</p>
<p>Hier mal der Code:</p>
<p>Header:</p>
<pre><code class="language-cpp">#ifndef MITTELWERT_H_INCLUDED
#define MITTELWERT_H_INCLUDED

#include &lt;vector&gt;

template &lt;class T&gt;
class Mittelwert {
    public:
    void AddValue(T val);
    float Calc();

    private:
    std::vector&lt;T&gt; Werte;
};

#endif // MITTELWERT_H_INCLUDED
</code></pre>
<p>Code:</p>
<pre><code class="language-cpp">#include &quot;Mittelwert.h&quot;
#include &lt;vector&gt;

template &lt;class T&gt;
float Mittelwert&lt;T&gt;::Calc() {
    float sum = 0;
    for(int i = 0; i&lt;Werte.size(); i++, sum+=Werte[i]);
    return sum/Werte.size();
}

template &lt;class T&gt;
void Mittelwert&lt;T&gt;::AddValue(T val) {
    Werte.push_back(val);
}
</code></pre>
<p>Falls das eine Rolle spielt: Ich benutze Code::Blocks mit gcc</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267995/kleines-template-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 04:03:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267995.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Jun 2010 14:34:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kleines Template Problem on Wed, 02 Jun 2010 14:35:55 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine kleine Template-Klasse geschrieben, die auch wunderbar läuft, so lange die Funktionen in der Header Datei zusammen mit der Klassendefinition stehen. Sobald ich die Funktionen in die ansonsten gleichnamige .cpp datei schreibe und den Header dort einbinde, wirft der Compiler beim Aufruf der Funktionen &quot;undefined reference&quot; aus.<br />
Könnt ihr mir sagen worans liegt?</p>
<p>Hier mal der Code:</p>
<p>Header:</p>
<pre><code class="language-cpp">#ifndef MITTELWERT_H_INCLUDED
#define MITTELWERT_H_INCLUDED

#include &lt;vector&gt;

template &lt;class T&gt;
class Mittelwert {
    public:
    void AddValue(T val);
    float Calc();

    private:
    std::vector&lt;T&gt; Werte;
};

#endif // MITTELWERT_H_INCLUDED
</code></pre>
<p>Code:</p>
<pre><code class="language-cpp">#include &quot;Mittelwert.h&quot;
#include &lt;vector&gt;

template &lt;class T&gt;
float Mittelwert&lt;T&gt;::Calc() {
    float sum = 0;
    for(int i = 0; i&lt;Werte.size(); i++, sum+=Werte[i]);
    return sum/Werte.size();
}

template &lt;class T&gt;
void Mittelwert&lt;T&gt;::AddValue(T val) {
    Werte.push_back(val);
}
</code></pre>
<p>Falls das eine Rolle spielt: Ich benutze Code::Blocks mit gcc</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905954</guid><dc:creator><![CDATA[PsychoticStyx]]></dc:creator><pubDate>Wed, 02 Jun 2010 14:35:55 GMT</pubDate></item><item><title><![CDATA[Reply to Kleines Template Problem on Wed, 02 Jun 2010 14:37:45 GMT]]></title><description><![CDATA[<p>PsychoticStyx schrieb:</p>
<blockquote>
<p>ich habe eine kleine Template-Klasse geschrieben [...]</p>
</blockquote>
<p>Das ist ein Klassentemplate. Eine Klasse wird es erst, wenn das Template instanziiert wird (für alle Templateparameter werden Typen oder Werte eingesetzt).</p>
<p>PsychoticStyx schrieb:</p>
<blockquote>
<p>[...] die auch wunderbar läuft, so lange die Funktionen in der Header Datei zusammen mit der Klassendefinition stehen. Sobald ich die Funktionen in die ansonsten gleichnamige .cpp datei schreibe und den Header dort einbinde, wirft der Compiler beim Aufruf der Funktionen &quot;undefined reference&quot; aus.</p>
</blockquote>
<p>Templates müssen vollständig im Header definiert werden. Dazu steht ein Beitrag in den FAQ.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905955</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 02 Jun 2010 14:37:45 GMT</pubDate></item><item><title><![CDATA[Reply to Kleines Template Problem on Wed, 02 Jun 2010 14:42:59 GMT]]></title><description><![CDATA[<p>Danke! Hab das bei der Forumssuche irgendwie vorher nicht gefunden gehabt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1905957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1905957</guid><dc:creator><![CDATA[PsychoticStyx]]></dc:creator><pubDate>Wed, 02 Jun 2010 14:42:59 GMT</pubDate></item></channel></rss>