<?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[Zeiger auf Template-Klasse in einer nicht-Template-Klasse]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Template-Klasse und eine nicht-Template-Klasse.<br />
Kann ich in der nicht-Template-Klasse einen Zeiger auf die Template-Klasse setzen, ohne die nicht-Template-Klasse zu einem Template zu machen?<br />
Etwa so:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class A
{
//...
};

class B
{
A* a; //g++: Fehler: ungültige Verwendung des Template-Namens »A« ohne eine Argumentliste
};
</code></pre>
<p>mfg D3lta</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295730/zeiger-auf-template-klasse-in-einer-nicht-template-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 07:59:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295730.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Nov 2011 16:05:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Template-Klasse in einer nicht-Template-Klasse on Sun, 20 Nov 2011 16:05:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Template-Klasse und eine nicht-Template-Klasse.<br />
Kann ich in der nicht-Template-Klasse einen Zeiger auf die Template-Klasse setzen, ohne die nicht-Template-Klasse zu einem Template zu machen?<br />
Etwa so:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class A
{
//...
};

class B
{
A* a; //g++: Fehler: ungültige Verwendung des Template-Namens »A« ohne eine Argumentliste
};
</code></pre>
<p>mfg D3lta</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146643</guid><dc:creator><![CDATA[D3lta]]></dc:creator><pubDate>Sun, 20 Nov 2011 16:05:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Template-Klasse in einer nicht-Template-Klasse on Sun, 20 Nov 2011 16:12:20 GMT]]></title><description><![CDATA[<p>Das geht genausowenig wie du eine Variable vector v halten kannst. Hingegen geht vector&lt;int&gt; v und bei dir geht auch A&lt;int&gt;* a. Wenn du es allgemein halten willst als A&lt;T&gt;* a, musst du aus B eine Template-Klasse machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146646</guid><dc:creator><![CDATA[victor&amp;lt;int&amp;gt;]]></dc:creator><pubDate>Sun, 20 Nov 2011 16:12:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Template-Klasse in einer nicht-Template-Klasse on Sun, 20 Nov 2011 16:13:37 GMT]]></title><description><![CDATA[<p>Nein geht nicht.</p>
<p>Macht auch keinen Sinn. Welchen Wert sollte T denn dann annehmen?</p>
<p>du könntest natürlich so etwas wie A&lt;int&gt; *a; definieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146647</guid><dc:creator><![CDATA[Templer]]></dc:creator><pubDate>Sun, 20 Nov 2011 16:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Template-Klasse in einer nicht-Template-Klasse on Sun, 20 Nov 2011 16:14:31 GMT]]></title><description><![CDATA[<p>Es heißt &quot;Klassentemplate&quot;, nicht &quot;Templateklasse&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146648</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 20 Nov 2011 16:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Template-Klasse in einer nicht-Template-Klasse on Sun, 20 Nov 2011 16:16:28 GMT]]></title><description><![CDATA[<p>Unter umständen kann es sinnvoll sein eine basisklasse einzuführen und dann das klassentemplate davon erben zu lassen, dann kannst du einen pointer auf die basisklasse speichern.<br />
Das ist aber nur in speziellen fällen sinnvoll, ich habe es aber schoneinmal eingesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2146649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146649</guid><dc:creator><![CDATA[*Q* 1]]></dc:creator><pubDate>Sun, 20 Nov 2011 16:16:28 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Template-Klasse in einer nicht-Template-Klasse on Sun, 20 Nov 2011 16:22:37 GMT]]></title><description><![CDATA[<p>Naja, ein Zeiger zeigt, wenn er nicht initialisiert ist, ja auf kein Objekt.<br />
Wenn man nun das Objekt für den Zeiger erstellt und dann dem Zeiger zuweist, hat T ja einen Typ.</p>
<p>mfg D3lta</p>
<p>P.S.: In meinem Fall ist das dem hier ähnlich:</p>
<pre><code class="language-cpp">template&lt;int I&gt;
class A
{
//...
};

class B
{
A* a; //g++: Fehler: ungültige Verwendung des Template-Namens »A« ohne eine Argumentliste
};
</code></pre>
<p>Die Idee von Q würde Sinn machen, da B für alle Werte von I funktionieren soll, aber ohne Template <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2146650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2146650</guid><dc:creator><![CDATA[D3lta]]></dc:creator><pubDate>Sun, 20 Nov 2011 16:22:37 GMT</pubDate></item></channel></rss>