<?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[iterator operator==]]></title><description><![CDATA[<p>Also hier erst mal der Quellcode:<br />
(wahrscheinlich nen ganz offensichtlicher Fehler - aber zumindest nicht für mich ^^)</p>
<pre><code class="language-cpp">//std::vector &lt;room *&gt; rooms;

for (vector &lt;room *&gt;::iterator it (rooms.begin ()); it != rooms.end ();)
	{
//...
		if ((*it)-&gt;isempty ()) //er guckt, ob nen vector leer ist und wenn ja, soll *it gelöscht werden:
			{
//...
				this-&gt;RemoveMe (*it); //it wird gelöscht und aus dem Array (mit erase) gelöscht
//...
			}
			else
				{
					++it;
				}
bool c (rooms.end () == it); //Fehler!
</code></pre>
<p>Der Vergleich am Ende war nur, damit es offensichtlicher ist - normalerweise kommt der Fehler erst, wenn er wieder an den Anfang der Schleife &quot;hupft&quot; und dort guckt, ob 'it != rooms.end ();' noch stimmt...<br />
Außerdem stimmen die Werte von 'rooms.end ()' und 'it' lt. Debugger überein - die Typen meiner Ansicht ja auch... Also ich hab keine Ahnung -.-</p>
<p>-&gt;Fehlermeldung: &quot;vector iterators incompatible&quot; (nicht vom Compiler, sondern vom Debugger)</p>
<p>Meine Frage ist natürlich, was ich falsch mache -.-</p>
<p>Außerdem hab ich noch ne Frage:</p>
<pre><code class="language-cpp">vector &lt;room *&gt;::iterator it
</code></pre>
<p>Kann ich stattdessen auch nen const_iterator nehmen? So bald nen erase drin ist, nicht mehr, oder?</p>
<p>Danke schon mal...</p>
<p>Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202462/iterator-operator</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 16:05:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202462.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jan 2008 18:32:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to iterator operator== on Fri, 11 Jan 2008 18:36:59 GMT]]></title><description><![CDATA[<p>Also hier erst mal der Quellcode:<br />
(wahrscheinlich nen ganz offensichtlicher Fehler - aber zumindest nicht für mich ^^)</p>
<pre><code class="language-cpp">//std::vector &lt;room *&gt; rooms;

for (vector &lt;room *&gt;::iterator it (rooms.begin ()); it != rooms.end ();)
	{
//...
		if ((*it)-&gt;isempty ()) //er guckt, ob nen vector leer ist und wenn ja, soll *it gelöscht werden:
			{
//...
				this-&gt;RemoveMe (*it); //it wird gelöscht und aus dem Array (mit erase) gelöscht
//...
			}
			else
				{
					++it;
				}
bool c (rooms.end () == it); //Fehler!
</code></pre>
<p>Der Vergleich am Ende war nur, damit es offensichtlicher ist - normalerweise kommt der Fehler erst, wenn er wieder an den Anfang der Schleife &quot;hupft&quot; und dort guckt, ob 'it != rooms.end ();' noch stimmt...<br />
Außerdem stimmen die Werte von 'rooms.end ()' und 'it' lt. Debugger überein - die Typen meiner Ansicht ja auch... Also ich hab keine Ahnung -.-</p>
<p>-&gt;Fehlermeldung: &quot;vector iterators incompatible&quot; (nicht vom Compiler, sondern vom Debugger)</p>
<p>Meine Frage ist natürlich, was ich falsch mache -.-</p>
<p>Außerdem hab ich noch ne Frage:</p>
<pre><code class="language-cpp">vector &lt;room *&gt;::iterator it
</code></pre>
<p>Kann ich stattdessen auch nen const_iterator nehmen? So bald nen erase drin ist, nicht mehr, oder?</p>
<p>Danke schon mal...</p>
<p>Tom</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435061</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 11 Jan 2008 18:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to iterator operator== on Fri, 11 Jan 2008 19:02:36 GMT]]></title><description><![CDATA[<p>Lass mich raten: 'RemoveMe' verändert 'rooms'? Danach ist der Iterator nicht mehr gültig, weil sich der Container verändert hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435082</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Fri, 11 Jan 2008 19:02:36 GMT</pubDate></item><item><title><![CDATA[Reply to iterator operator== on Fri, 11 Jan 2008 19:36:01 GMT]]></title><description><![CDATA[<p>schon... (steht ja auch als Kommentar im Quellcode)<br />
aber der iterator hat doch dann den richtigen Wert für das nächste Element oder irre ich mich da? Oo<br />
ich dachte bisher, dass das hier richtig ist (und ich damit das gesamte Array löschen würde, wenn es iwo so stehen würde):</p>
<p>for (vector &lt;int&gt;::iterator it (array.begin()); it != array.end();)<br />
{<br />
array.erase (it);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435100</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 11 Jan 2008 19:36:01 GMT</pubDate></item><item><title><![CDATA[Reply to iterator operator== on Sat, 12 Jan 2008 00:41:34 GMT]]></title><description><![CDATA[<p>Das nächste Element wird zurückgegeben also müsste das ungefähr so aussehen:</p>
<pre><code class="language-cpp">for (vector &lt;int&gt;::iterator it (array.begin()); it != array.end();)
{
    it = array.erase (it);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1435209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435209</guid><dc:creator><![CDATA[maheee]]></dc:creator><pubDate>Sat, 12 Jan 2008 00:41:34 GMT</pubDate></item><item><title><![CDATA[Reply to iterator operator== on Sat, 12 Jan 2008 01:32:38 GMT]]></title><description><![CDATA[<p>Ahhh...<br />
Hätt ich sicherlich au gemerkt, wenn ich ma gelesen hätte aber iwie war ich mir eben doch sicher <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=":/"
      alt="😕"
    /><br />
Danke : &gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435220</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 12 Jan 2008 01:32:38 GMT</pubDate></item></channel></rss>