<?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[Seltsamer Fehler beim verschachteltem Template]]></title><description><![CDATA[<p>Hallo! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Folgendes kurz und bündig ...</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class base
{
};

template&lt;typename T&gt;
class deri : public base&lt;T&gt;
{
public:
	template&lt;typename E&gt;
	void element() { }
};

template&lt;typename T&gt;
void templateFunc()
{
	deri&lt;T&gt; d;
	d.element&lt;T&gt;();
}

int main()
{
	templateFunc&lt;float&gt;();
}
</code></pre>
<p>erbibt:</p>
<blockquote>
<p>g++ test.cpp -o test<br />
test.cpp: In function »void templateFunc()«:<br />
test.cpp:17: Fehler: expected primary-expression before »&gt;« token<br />
test.cpp:17: Fehler: expected primary-expression before »)« token</p>
</blockquote>
<p>Einzige mögliche Konstellation:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
void templateFunc()
{
	deri&lt;float&gt; d;
	d.element&lt;T&gt;();
}
</code></pre>
<p>Was aber absolut inakzeptabel ist.</p>
<p>Kann mir jemand erklären warum das passiert?</p>
<p>Danke euch vielmals! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/214030/seltsamer-fehler-beim-verschachteltem-template</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 20:51:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/214030.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 24 May 2008 17:44:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 17:48:12 GMT]]></title><description><![CDATA[<p>Hallo! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Folgendes kurz und bündig ...</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class base
{
};

template&lt;typename T&gt;
class deri : public base&lt;T&gt;
{
public:
	template&lt;typename E&gt;
	void element() { }
};

template&lt;typename T&gt;
void templateFunc()
{
	deri&lt;T&gt; d;
	d.element&lt;T&gt;();
}

int main()
{
	templateFunc&lt;float&gt;();
}
</code></pre>
<p>erbibt:</p>
<blockquote>
<p>g++ test.cpp -o test<br />
test.cpp: In function »void templateFunc()«:<br />
test.cpp:17: Fehler: expected primary-expression before »&gt;« token<br />
test.cpp:17: Fehler: expected primary-expression before »)« token</p>
</blockquote>
<p>Einzige mögliche Konstellation:</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
void templateFunc()
{
	deri&lt;float&gt; d;
	d.element&lt;T&gt;();
}
</code></pre>
<p>Was aber absolut inakzeptabel ist.</p>
<p>Kann mir jemand erklären warum das passiert?</p>
<p>Danke euch vielmals! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515920</guid><dc:creator><![CDATA[Pigeon]]></dc:creator><pubDate>Sat, 24 May 2008 17:48:12 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 17:50:22 GMT]]></title><description><![CDATA[<p>Merkwürdig, bei mir (VC++ Express 2008) geht dein grosser Beispielcode ohne Probleme. Ich sehe auch nichts...</p>
<p>Könnte das eventuell ein Bug sein? Versuch doch mal, die Projektmappe neu zu erstellen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515926</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 24 May 2008 17:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 17:53:40 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Merkwürdig, bei mir (VC++ Express 2008) geht dein grosser Beispielcode ohne Probleme. Ich sehe auch nichts...</p>
<p>Könnte das eventuell ein Bug sein? Versuch doch mal, die Projektmappe neu zu erstellen...</p>
</blockquote>
<p>Das hört sich aber mies an ...</p>
<p>Ich hab gcc-4.1.2 und Linux <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="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Projektmappen sind mir dementsprechend fremd ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515928</guid><dc:creator><![CDATA[Pigeon]]></dc:creator><pubDate>Sat, 24 May 2008 17:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 18:19:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">d.template element&lt;T&gt;();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1515937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515937</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 24 May 2008 18:19:15 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 18:21:54 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">d.template element&lt;T&gt;();
</code></pre>
</blockquote>
<p>Ich bin entzückt und Danke sehr ... aber warum muss man das so schreiben?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515939</guid><dc:creator><![CDATA[Pigeon]]></dc:creator><pubDate>Sat, 24 May 2008 18:21:54 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 18:26:35 GMT]]></title><description><![CDATA[<p>Pigeon schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<pre><code class="language-cpp">d.template element&lt;T&gt;();
</code></pre>
</blockquote>
<p>Ich bin entzückt und Danke sehr ... aber warum muss man das so schreiben?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Weil element ein abhängiger Name ist. Ohne zu wissen, ob element ein Template ist oder nicht, kann man das folgende &lt; nicht richtig interpretieren (operator&lt; mit dem Ausruck d.element als linkem Operand oder eben der Beginn einer Templateargumentliste). In solchen Fällen nimmt der Compiler an, dass es sich nicht um ein Template handelt, wenn das Schlüsselwort template nicht verwendet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515940</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 24 May 2008 18:26:35 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 18:44:13 GMT]]></title><description><![CDATA[<p>Wieso führt das dann im Visual C++ 2008 Express zu keiner Fehlermeldung? Erkennt der Compiler &quot;element&quot; als Template?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515951</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 24 May 2008 18:44:13 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 18:52:00 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Wieso führt das dann im Visual C++ 2008 Express zu keiner Fehlermeldung? Erkennt der Compiler &quot;element&quot; als Template?</p>
</blockquote>
<p>Visual C++ ist traditionell ziemlich lax im Umgang mit template (und typename, das eine vergleichbare Rolle hat) für diesen Zweck. Das ist nicht standardkonform (das template <em>muss</em> dort stehen) und wird wahrscheinlich nur aus Kompatibilitätsgründen so beibehalten - jedenfalls führen Probleme hier schnell zu einem ICE. Der Compiler kann nicht &quot;erkennen&quot;, dass es sich um ein Template handelt, höchtens &quot;vermuten&quot; - und diese Vermutung kann fehlschlagen. z.B. könntest du deri so spezialisieren (irgendwann später, aber bevor irgendeine Spezialisierung von templateFunc diese benutzen würde), dass element für diese Spezialisierung gerade mal kein Template ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515955</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 24 May 2008 18:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsamer Fehler beim verschachteltem Template on Sat, 24 May 2008 18:52:00 GMT]]></title><description><![CDATA[<p>mit ICE meint er Internal Compiler Error</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1515956</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1515956</guid><dc:creator><![CDATA[translator]]></dc:creator><pubDate>Sat, 24 May 2008 18:52:00 GMT</pubDate></item></channel></rss>