<?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] STL container als template]]></title><description><![CDATA[<p>wieso funktioniert folgendes nicht:</p>
<pre><code class="language-cpp">template&lt;class STLcontainer&gt;
void foo(STLcontainer&amp; container&gt;
{
   STLcontainer::iterator pos;
   for(pos=container.begin(); pos!=container.end(); ++pos)
   {
      cout&lt;&lt;*pos&lt;&lt;endl;
   }
}
</code></pre>
<p>hier erhalte ich mit gcc3.4 immer die Fehlermeldung:<br />
&quot;expected ';' for pos<br />
mit vs 8.0 gibt es keinerlei probleme</p>
<p>templates werden doch erst bei inanspruchnahme mit den entsprechenden parameters kompiliert (dacht ich immer). so, dass ich fehlermedlung wie bei dem beispiel:</p>
<pre><code class="language-cpp">int main()
{
   vector&lt;int&gt; vec;
   foo(vec);
   int test=0;
   foo(test);
   return 0;
}
</code></pre>
<p>natülich die fehlermeldung &quot;::iterator kein element von int&quot; erwarten würde.</p>
<p>generell habe ich auf die schnelle nichts gefunden, wie man elegant ein template mit einer bestimmten klasse als template paramter verwendet:<br />
sowas wie:</p>
<pre><code class="language-cpp">template&lt; typename T&gt; //T soll irgendein STLcontainer mit inhalt &quot;class ToWriter&quot; sein
void foo(...) { ... }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/175112/template-stl-container-als-template</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 01:18:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175112.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Mar 2007 10:31:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [template] STL container als template on Wed, 07 Mar 2007 10:31:57 GMT]]></title><description><![CDATA[<p>wieso funktioniert folgendes nicht:</p>
<pre><code class="language-cpp">template&lt;class STLcontainer&gt;
void foo(STLcontainer&amp; container&gt;
{
   STLcontainer::iterator pos;
   for(pos=container.begin(); pos!=container.end(); ++pos)
   {
      cout&lt;&lt;*pos&lt;&lt;endl;
   }
}
</code></pre>
<p>hier erhalte ich mit gcc3.4 immer die Fehlermeldung:<br />
&quot;expected ';' for pos<br />
mit vs 8.0 gibt es keinerlei probleme</p>
<p>templates werden doch erst bei inanspruchnahme mit den entsprechenden parameters kompiliert (dacht ich immer). so, dass ich fehlermedlung wie bei dem beispiel:</p>
<pre><code class="language-cpp">int main()
{
   vector&lt;int&gt; vec;
   foo(vec);
   int test=0;
   foo(test);
   return 0;
}
</code></pre>
<p>natülich die fehlermeldung &quot;::iterator kein element von int&quot; erwarten würde.</p>
<p>generell habe ich auf die schnelle nichts gefunden, wie man elegant ein template mit einer bestimmten klasse als template paramter verwendet:<br />
sowas wie:</p>
<pre><code class="language-cpp">template&lt; typename T&gt; //T soll irgendein STLcontainer mit inhalt &quot;class ToWriter&quot; sein
void foo(...) { ... }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1240820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240820</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 07 Mar 2007 10:31:57 GMT</pubDate></item><item><title><![CDATA[Reply to [template] STL container als template on Wed, 07 Mar 2007 10:42:26 GMT]]></title><description><![CDATA[<p>Wenn der Compiler aus dem allgemeinen Kontext nicht erkennen kann, was du willst, vermutet er eine Variable. Deshalb mußt du notfalls 'typename' verwenden, um zu kennzeichnen, daß du einen Untertyp ansprechen willst:</p>
<pre><code class="language-cpp">template&lt;class STLcontainer&gt;
void foo(STLcontainer&amp; container&gt;
{
  typename STLcontainer::iterator pos;
  ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1240827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240827</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 07 Mar 2007 10:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to [template] STL container als template on Wed, 07 Mar 2007 10:53:14 GMT]]></title><description><![CDATA[<p>alles klar. also sollte man &quot;typename&quot; immer anwenden, wenn man nested classes in template methoden verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240832</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 07 Mar 2007 10:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to [template] STL container als template on Wed, 07 Mar 2007 12:15:24 GMT]]></title><description><![CDATA[<p>muffmolch schrieb:</p>
<blockquote>
<p>alles klar. also sollte man &quot;typename&quot; immer anwenden, wenn man nested classes in template methoden verwendet.</p>
</blockquote>
<p>Weiß nicht ... aber auf jeden Fall sollte man &quot;typename&quot; verwenden, wenn der folgende Ausdruck sonst auch als (static-)Element einer Klasse mißverstanden werden könnte.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240887</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 07 Mar 2007 12:15:24 GMT</pubDate></item><item><title><![CDATA[Reply to [template] STL container als template on Wed, 07 Mar 2007 12:54:18 GMT]]></title><description><![CDATA[<p>muffmolch schrieb:</p>
<blockquote>
<p>alles klar. also sollte man &quot;typename&quot; immer anwenden, wenn man nested classes in template methoden verwendet.</p>
</blockquote>
<p>Anders/Besser ausgedrückt: ... Vom Templateparameter abhängige Namen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1240906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240906</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 07 Mar 2007 12:54:18 GMT</pubDate></item><item><title><![CDATA[Reply to [template] STL container als template on Wed, 07 Mar 2007 13:04:10 GMT]]></title><description><![CDATA[<p>Freak_Coder schrieb:</p>
<blockquote>
<p>muffmolch schrieb:</p>
<blockquote>
<p>alles klar. also sollte man &quot;typename&quot; immer anwenden, wenn man nested classes in template methoden verwendet.</p>
</blockquote>
<p>Anders/Besser ausgedrückt: ... Vom Templateparameter abhängige Namen ...</p>
</blockquote>
<p>oder so <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/1240913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1240913</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 07 Mar 2007 13:04:10 GMT</pubDate></item></channel></rss>