<?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-Frage]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;class T&gt;
void fasdfsdfs(const std::vector&lt;T&gt;&amp; vec)
{
	std::vector&lt;T&gt;::const_iterator it;  // (*)
}
</code></pre>
<p>In Zeile (*) sagt mir der Compiler:</p>
<pre><code>src/auxiliary.h: In function ‘void fasdfsdfs(const std::vector&lt;_Tp, std::allocator&lt;_CharT&gt; &gt;&amp;)’:
src/auxiliary.h:137: error: expected `;' before ‘it’
</code></pre>
<p>Ich sehe hier das Problem nicht. Vielleicht bin ich ja auch blind. Aber folgender Code geht problemlos (auch wenn er nicht tut, was ich will):</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void fasdfsdfs(const std::vector&lt;T&gt;&amp; vec)
{
	std::vector&lt;int&gt;::const_iterator it;  // (*)
}
</code></pre>
<p>Hat jemand eine Erklärung?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261050/template-frage</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 12:19:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261050.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Feb 2010 15:16:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:16:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;class T&gt;
void fasdfsdfs(const std::vector&lt;T&gt;&amp; vec)
{
	std::vector&lt;T&gt;::const_iterator it;  // (*)
}
</code></pre>
<p>In Zeile (*) sagt mir der Compiler:</p>
<pre><code>src/auxiliary.h: In function ‘void fasdfsdfs(const std::vector&lt;_Tp, std::allocator&lt;_CharT&gt; &gt;&amp;)’:
src/auxiliary.h:137: error: expected `;' before ‘it’
</code></pre>
<p>Ich sehe hier das Problem nicht. Vielleicht bin ich ja auch blind. Aber folgender Code geht problemlos (auch wenn er nicht tut, was ich will):</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void fasdfsdfs(const std::vector&lt;T&gt;&amp; vec)
{
	std::vector&lt;int&gt;::const_iterator it;  // (*)
}
</code></pre>
<p>Hat jemand eine Erklärung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1854761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854761</guid><dc:creator><![CDATA[Mups]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:16:45 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:22:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::vector&lt;T&gt;::const_iterator
</code></pre>
<p>Ist ein vom Templateargument T abhängiger Bezeichner und könnte je nach konkretem Templateargument bei der Instantiierung einen Typen oder etwas völlig anderes ergeben oder gar nicht existieren (dass &quot;wir&quot; wissen, dass das bei vector immer einen Typen ergeben wird, spielt keine Rolle). Kann nicht bestimmt werden, ob ein abhängiger Bezeichner einen Typen darstellt oder nicht, wird angenommen, dass es kein Typ ist.</p>
<pre><code class="language-cpp">x y;
</code></pre>
<p>ist aber kein syntaktisch mögliches Konstrukt, es sei denn x stellt einen Typ dar.<br />
Für diese Zwecke existiert das Schlüsselwort typename</p>
<pre><code class="language-cpp">typename std::vector&lt;int&gt;::const_iterator it;
</code></pre>
<p>mit dem ausdrücklich spezifiziert würd, dass es sich bei dem bezeichner um einen Typen handelt (und stellt sich beim Instantiieren dann etwas andrees heraus, liegt ein Fehler vor).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1854768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854768</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:24:05 GMT]]></title><description><![CDATA[<p>Das klingt schlüssig, danke.<br />
Magst du mir denn verraten, ob und ggf. wie ich das Problem lösen kann? Mit typename? Wie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1854770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854770</guid><dc:creator><![CDATA[Mups]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:24:05 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:25:28 GMT]]></title><description><![CDATA[<p>Mups schrieb:</p>
<blockquote>
<p>Mit typename? Wie?</p>
</blockquote>
<p>So, wie camper das beschrieben hat? <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>
<pre><code class="language-cpp">typename std::vector&lt;T&gt;::const_iterator it;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1854774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854774</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:25:28 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:28:17 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Mups schrieb:</p>
<blockquote>
<p>Mit typename? Wie?</p>
</blockquote>
<p>So, wie camper das beschrieben hat? <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>
<pre><code class="language-cpp">typename std::vector&lt;T&gt;::const_iterator it;
</code></pre>
</blockquote>
<p>Das hat camper eben editiert.</p>
<p>Danke euch beiden!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1854776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854776</guid><dc:creator><![CDATA[Mups]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:28:17 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:30:47 GMT]]></title><description><![CDATA[<p>Mups schrieb:</p>
<blockquote>
<p>Das hat camper eben editiert.</p>
</blockquote>
<p>Okay. Ich habe gerade auch noch gesehen, dass bei ihm <code>int</code> statt <code>T</code> steht, das dürfte ebenfalls zur Verwirrung beigetragen haben. <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/1854779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854779</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:30:47 GMT</pubDate></item><item><title><![CDATA[Reply to Template-Frage on Fri, 12 Feb 2010 15:50:32 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Mups schrieb:</p>
<blockquote>
<p>Das hat camper eben editiert.</p>
</blockquote>
<p>Okay. Ich habe gerade auch noch gesehen, dass bei ihm <code>int</code> statt <code>T</code> steht, das dürfte ebenfalls zur Verwirrung beigetragen haben. <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>
</blockquote>
<p>solange es zum Nachdenken anregt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1854785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1854785</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 12 Feb 2010 15:50:32 GMT</pubDate></item></channel></rss>