<?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[Template einer Vererbten Klasse]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe folgendes Problem:</p>
<p>CZ80Memory.h</p>
<pre><code>class CZ80Memory
{
    public:
        CZ80Memory();
        template&lt;typename T&gt; void WriteMem(int dst, T value);
};
</code></pre>
<p>CZ80Memory.cpp</p>
<pre><code>CZ80Memory::CZ80Memory()
{
    memoryLength = 1024;
    memory = new char[memoryLength];
    cout &lt;&lt; memoryLength &lt;&lt; &quot; Bytes for memory reserved&quot; &lt;&lt; endl;
}

template&lt;typename T&gt; void CZ80Memory::WriteMem(int dst, T value)
{
}
</code></pre>
<p>CZ80Emulator.h</p>
<pre><code>class CZ80Emulator : public CZ80Memory
{
    public:
        CZ80Emulator();
};
</code></pre>
<p>CZ80Emulator.cpp</p>
<pre><code>CZ80Emulator::CZ80Emulator()
{
    cout &lt;&lt; &quot;Z80 Emulator erstellt&quot; &lt;&lt; endl;
    WriteMem&lt;int&gt;(3,3);
}
</code></pre>
<p>(unwichtige Stellen rausgeschnitten)</p>
<p>Normalerweise sollte die Funktion WriteMem ja jetzt auch in der Klasse CZ80Emulator vorhanden sein.<br />
Wenn ich das Template-Zeug weg lasse, funktioniert es auch alles.<br />
Aber ich brauche dringend dieses Template.<br />
Was es macht sollte klar sein.<br />
Sobald ich den Compiler anwerfe sagt er mir</p>
<blockquote>
<p>CZ80Emulator.cpp|10|undefined reference to `void CZ80Memory::WriteMem&lt;int&gt;(int, int)'|</p>
</blockquote>
<p>Hat jemand von euch eine Ahnung, woran das liegen könnte?<br />
Wäre wirklich sehr nett! <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>Liebe Grüße, Vito</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278715/template-einer-vererbten-klasse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 02:16:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278715.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Dec 2010 19:53:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template einer Vererbten Klasse on Sat, 11 Dec 2010 19:53:18 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe folgendes Problem:</p>
<p>CZ80Memory.h</p>
<pre><code>class CZ80Memory
{
    public:
        CZ80Memory();
        template&lt;typename T&gt; void WriteMem(int dst, T value);
};
</code></pre>
<p>CZ80Memory.cpp</p>
<pre><code>CZ80Memory::CZ80Memory()
{
    memoryLength = 1024;
    memory = new char[memoryLength];
    cout &lt;&lt; memoryLength &lt;&lt; &quot; Bytes for memory reserved&quot; &lt;&lt; endl;
}

template&lt;typename T&gt; void CZ80Memory::WriteMem(int dst, T value)
{
}
</code></pre>
<p>CZ80Emulator.h</p>
<pre><code>class CZ80Emulator : public CZ80Memory
{
    public:
        CZ80Emulator();
};
</code></pre>
<p>CZ80Emulator.cpp</p>
<pre><code>CZ80Emulator::CZ80Emulator()
{
    cout &lt;&lt; &quot;Z80 Emulator erstellt&quot; &lt;&lt; endl;
    WriteMem&lt;int&gt;(3,3);
}
</code></pre>
<p>(unwichtige Stellen rausgeschnitten)</p>
<p>Normalerweise sollte die Funktion WriteMem ja jetzt auch in der Klasse CZ80Emulator vorhanden sein.<br />
Wenn ich das Template-Zeug weg lasse, funktioniert es auch alles.<br />
Aber ich brauche dringend dieses Template.<br />
Was es macht sollte klar sein.<br />
Sobald ich den Compiler anwerfe sagt er mir</p>
<blockquote>
<p>CZ80Emulator.cpp|10|undefined reference to `void CZ80Memory::WriteMem&lt;int&gt;(int, int)'|</p>
</blockquote>
<p>Hat jemand von euch eine Ahnung, woran das liegen könnte?<br />
Wäre wirklich sehr nett! <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>Liebe Grüße, Vito</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1993067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993067</guid><dc:creator><![CDATA[VitoAlexander]]></dc:creator><pubDate>Sat, 11 Dec 2010 19:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to Template einer Vererbten Klasse on Sat, 11 Dec 2010 19:58:23 GMT]]></title><description><![CDATA[<p>Templatedefinitionen müssen zur Zeit der Instanzierung vorliegen, du kannst sie nicht in eine andere Quellcodedatei auslagern, oder kurz gesagt: Definier CZ80Memory::WriteMem in CZ80Memory.h.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1993069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993069</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 11 Dec 2010 19:58:23 GMT</pubDate></item></channel></rss>