<?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[Brauche etwas Hilfe zu Templates]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>vorneweg: ich bin kein Totaler Anfänger in Sachen Templates. Ich habe schon viel Funktionen und Klassen mit tempaltes programmiert.</p>
<p>Aber nun stehe ich vor einem neuen Problem: Ich möchte eine paar template Funktionen schreiben, mit denen ich Container, aller Art, durchlaufen, um z.B. die einzelnen Elemente zu löschen (delete *it) oder eine Funktion aufrufen (z.B. DrawObject).</p>
<p>Hier ist einer meiner Funktionen, ich hoffe ihr erkennt was sie tun soll. Jedoch kompiliert der C++ Compiler das nicht:</p>
<pre><code class="language-cpp">template &lt;class T&gt; void DeleteObjectList(vector&lt;T*&gt; &amp;ObjectList)
{
    for (vector&lt;T*&gt;::iterator it = ObjectList.begin(); it != ObjectList.end(); ++it)
    {
        if (*it)
        {
            delete *it;
            *it = 0;
        }
    }

    ObjectList.clear();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/231424/brauche-etwas-hilfe-zu-templates</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 21:48:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/231424.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 10 Jan 2009 18:27:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brauche etwas Hilfe zu Templates on Sat, 10 Jan 2009 18:27:40 GMT]]></title><description><![CDATA[<p>Hi Leute,</p>
<p>vorneweg: ich bin kein Totaler Anfänger in Sachen Templates. Ich habe schon viel Funktionen und Klassen mit tempaltes programmiert.</p>
<p>Aber nun stehe ich vor einem neuen Problem: Ich möchte eine paar template Funktionen schreiben, mit denen ich Container, aller Art, durchlaufen, um z.B. die einzelnen Elemente zu löschen (delete *it) oder eine Funktion aufrufen (z.B. DrawObject).</p>
<p>Hier ist einer meiner Funktionen, ich hoffe ihr erkennt was sie tun soll. Jedoch kompiliert der C++ Compiler das nicht:</p>
<pre><code class="language-cpp">template &lt;class T&gt; void DeleteObjectList(vector&lt;T*&gt; &amp;ObjectList)
{
    for (vector&lt;T*&gt;::iterator it = ObjectList.begin(); it != ObjectList.end(); ++it)
    {
        if (*it)
        {
            delete *it;
            *it = 0;
        }
    }

    ObjectList.clear();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1643018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643018</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Sat, 10 Jan 2009 18:27:40 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche etwas Hilfe zu Templates on Sat, 10 Jan 2009 18:30:33 GMT]]></title><description><![CDATA[<p>Schon okay, es hat sich erledigt ^^</p>
<p>So muss es aussehen:</p>
<pre><code class="language-cpp">template &lt;class T&gt; void DeleteObjectList(vector&lt;T*&gt; &amp;ObjectList)
{
    for (typename vector&lt; T*, std::allocator&lt;T*&gt; &gt;::iterator it = ObjectList.begin(); it != ObjectList.end(); ++it)
    {
        if (*it)
        {
            delete *it;
            *it = 0;
        }
    }

    ObjectList.clear();
}
</code></pre>
<p>Trotzdem danke <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1643022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643022</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Sat, 10 Jan 2009 18:30:33 GMT</pubDate></item><item><title><![CDATA[Reply to Brauche etwas Hilfe zu Templates on Sat, 10 Jan 2009 18:33:24 GMT]]></title><description><![CDATA[<p>Aber die Fehlermeldung ist wohl zu geheim, als dass du sie hier posten könntest... Gewöhn dir am besten an, immer zu sagen, <strong>was</strong> nicht geht. &quot;Kompiliert nicht&quot; bzw. &quot;geht nicht&quot; ist keine Fehlerbeschreibung.</p>
<p>Zu deinem Problem: Bei komplexeren Typen, die von Templateparametern abhängig sind, brauchst du immer das Schlüsselwort <code>typename</code> , um dem Compiler klarzumachen, dass es sich um einen Typ handelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1643023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1643023</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 10 Jan 2009 18:33:24 GMT</pubDate></item></channel></rss>