<?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[Klassentemplate mit list::iterator]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:<br />
Ich möchte ein Klassentemplate schreiben (siehe unten). In einer der Memberfunktionen verwende ich allerdings den std::list::Iterator zum Zugriff auf die Listenelemente. Dieser bereitet mir allerdings Probleme, wenn ich versuche das Ganze als Template-Funktion zu machen.</p>
<pre><code>template&lt;class T&gt;
class ListPriorityQueueT {

private:
	std::list &lt;T&gt; entries;
	int size;
public:
	ListPriorityQueueT();
	ListPriorityQueueT(const ListPriorityQueueT &amp;);
	ListPriorityQueueT &amp; operator= (const ListPriorityQueueT &amp;);
	bool operator&lt; (const ListPriorityQueueT &amp;);
	bool operator&gt; (const ListPriorityQueueT &amp;);
	bool operator== (const ListPriorityQueueT &amp;);
	void enqueue ( T &amp;);
	T dequeue () throw (QueueEmptyEx); 
};
</code></pre>
<p>hier die entsprechende Funktion:</p>
<pre><code>template&lt;class T&gt;
void ListPriorityQueueT&lt;T&gt;::enqueue(T &amp; e) {
	template&lt;class T&gt;
	std::list&lt;T&gt; list::iterator it;
	bool ins = false;
	for(it= entries.begin(); it != entries.end(); ++it) {
		if(*it &gt; e) {
			entries.insert(it, 1, e);
			ins=true;
			break;
		}
	}

	if(!ins) {
	    it = entries.end();
	    entries.push_back(e);
	}	
}
</code></pre>
<p>kann mir wer sagen was falsch ist, und wie es richtig fuktioniert.</p>
<p>MfG<br />
Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148906/klassentemplate-mit-list-iterator</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 02:32:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148906.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 May 2006 15:17:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassentemplate mit list::iterator on Wed, 31 May 2006 15:17:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:<br />
Ich möchte ein Klassentemplate schreiben (siehe unten). In einer der Memberfunktionen verwende ich allerdings den std::list::Iterator zum Zugriff auf die Listenelemente. Dieser bereitet mir allerdings Probleme, wenn ich versuche das Ganze als Template-Funktion zu machen.</p>
<pre><code>template&lt;class T&gt;
class ListPriorityQueueT {

private:
	std::list &lt;T&gt; entries;
	int size;
public:
	ListPriorityQueueT();
	ListPriorityQueueT(const ListPriorityQueueT &amp;);
	ListPriorityQueueT &amp; operator= (const ListPriorityQueueT &amp;);
	bool operator&lt; (const ListPriorityQueueT &amp;);
	bool operator&gt; (const ListPriorityQueueT &amp;);
	bool operator== (const ListPriorityQueueT &amp;);
	void enqueue ( T &amp;);
	T dequeue () throw (QueueEmptyEx); 
};
</code></pre>
<p>hier die entsprechende Funktion:</p>
<pre><code>template&lt;class T&gt;
void ListPriorityQueueT&lt;T&gt;::enqueue(T &amp; e) {
	template&lt;class T&gt;
	std::list&lt;T&gt; list::iterator it;
	bool ins = false;
	for(it= entries.begin(); it != entries.end(); ++it) {
		if(*it &gt; e) {
			entries.insert(it, 1, e);
			ins=true;
			break;
		}
	}

	if(!ins) {
	    it = entries.end();
	    entries.push_back(e);
	}	
}
</code></pre>
<p>kann mir wer sagen was falsch ist, und wie es richtig fuktioniert.</p>
<p>MfG<br />
Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068891</guid><dc:creator><![CDATA[Chris986]]></dc:creator><pubDate>Wed, 31 May 2006 15:17:58 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplate mit list::iterator on Wed, 31 May 2006 15:24:10 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>cpp tags sind schöner.<br />
template gibts nicht in funktionsdefinitionen</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void ListPriorityQueueT&lt;T&gt;::enqueue(T &amp; e) {
    //template&lt;class T&gt;  HIER
    std::list&lt;T&gt; list::iterator it;
    bool ins = false;
    for(it= entries.begin(); it != entries.end(); ++it) {
        if(*it &gt; e) {
            entries.insert(it, 1, e);
            ins=true;
            break;
        }
    }

    if(!ins) {
        it = entries.end();
        entries.push_back(e);
    }    
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1068896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068896</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Wed, 31 May 2006 15:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplate mit list::iterator on Wed, 31 May 2006 15:28:06 GMT]]></title><description><![CDATA[<p>templäd schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::list&lt;T&gt; list::iterator it;
</code></pre>
</blockquote>
<p>Sollte wohl eher</p>
<pre><code class="language-cpp">std::list&lt;T&gt;::iterator it;
</code></pre>
<p>heissen?</p>
<p>In bin mir nicht 100% sicher, aber müsste es nicht sogar</p>
<pre><code class="language-cpp">typename std::list&lt;T&gt;::iterator it;
</code></pre>
<p>heissen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068901</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 31 May 2006 15:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplate mit list::iterator on Wed, 31 May 2006 15:32:40 GMT]]></title><description><![CDATA[<p>funktioniert leider immer noch nicht. Erhalte nun folgende Fehlermeldungen:</p>
<p><a href="http://ListPriorityQueueT.cc" rel="nofollow">ListPriorityQueueT.cc</a>: In member function »void ListPriorityQueueT&lt;T&gt;::enqueue(T&amp;)«:<br />
<a href="http://ListPriorityQueueT.cc:35" rel="nofollow">ListPriorityQueueT.cc:35</a>: Fehler: »list« wurde nicht deklariert<br />
<a href="http://ListPriorityQueueT.cc:35" rel="nofollow">ListPriorityQueueT.cc:35</a>: Fehler: expected initializer before »it«<br />
<a href="http://ListPriorityQueueT.cc:37" rel="nofollow">ListPriorityQueueT.cc:37</a>: Fehler: »it« wurde in diesem Gültigkeitsbereich nicht definiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068912</guid><dc:creator><![CDATA[Chris986]]></dc:creator><pubDate>Wed, 31 May 2006 15:32:40 GMT</pubDate></item><item><title><![CDATA[Reply to Klassentemplate mit list::iterator on Wed, 31 May 2006 16:38:58 GMT]]></title><description><![CDATA[<p>&lt;list&gt; included und namespace geused bzw. std:: genutzt?</p>
<p>EDIT:<br />
Im Zweifel nochmal aktuellen Code posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1068972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1068972</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 31 May 2006 16:38:58 GMT</pubDate></item></channel></rss>