<?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[std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem unter Visual C++ (MS Visual Studio 8), was den Vergleich zweier std::list Iteratoren mit dem Operator <strong>&lt;</strong> angeht und ich steige nicht dahinter...</p>
<pre><code class="language-cpp">...
std::list&lt;T&gt;::iterator myList;
std::list&lt;T&gt;::const_iterator myListEnd;
...
if( myList &lt; (--myListEnd) )
{
    // etwas machen...
}
...
</code></pre>
<p>Hier bekomme ich unter anderem folgende Fehlermeldung:</p>
<blockquote>
<p>error C2784: &quot;bool std::operator &lt;(const std::_Tree&lt;_Traits&gt; &amp;,const std::_Tree&lt;_Traits&gt; &amp;)&quot;: template-Argument für &quot;const std::_Tree&lt;_Traits&gt; &amp;&quot; konnte nicht von &quot;std::list&lt;_Ty&gt;::_Const_iterator&lt;_Secure_validation&gt;&quot; hergeleitet werden.</p>
</blockquote>
<blockquote>
<p>error C2784: &quot;bool std::operator &lt;(const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;,const _Elem *)&quot;: template-Argument für &quot;const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;&quot; konnte nicht von &quot;std::list&lt;_Ty&gt;::_Const_iterator&lt;_Secure_validation&gt;&quot; hergeleitet werden.</p>
</blockquote>
<p>Der Operator <strong>==</strong> funktioniert übrigens mit dem gleichen Aufruf. Unter Borland hat sowohl <strong>==</strong> als auch <strong>&lt;</strong> funktioniert.</p>
<p>Hat jemand eine Idee von Euch?</p>
<p>Vielen Dank schon mal.</p>
<p>Grüßle,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197936/std-list-lt-t-gt-iterator-operator-quot-lt-quot-und-visualc</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 18:09:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197936.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Nov 2007 09:18:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 09:18:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem unter Visual C++ (MS Visual Studio 8), was den Vergleich zweier std::list Iteratoren mit dem Operator <strong>&lt;</strong> angeht und ich steige nicht dahinter...</p>
<pre><code class="language-cpp">...
std::list&lt;T&gt;::iterator myList;
std::list&lt;T&gt;::const_iterator myListEnd;
...
if( myList &lt; (--myListEnd) )
{
    // etwas machen...
}
...
</code></pre>
<p>Hier bekomme ich unter anderem folgende Fehlermeldung:</p>
<blockquote>
<p>error C2784: &quot;bool std::operator &lt;(const std::_Tree&lt;_Traits&gt; &amp;,const std::_Tree&lt;_Traits&gt; &amp;)&quot;: template-Argument für &quot;const std::_Tree&lt;_Traits&gt; &amp;&quot; konnte nicht von &quot;std::list&lt;_Ty&gt;::_Const_iterator&lt;_Secure_validation&gt;&quot; hergeleitet werden.</p>
</blockquote>
<blockquote>
<p>error C2784: &quot;bool std::operator &lt;(const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;,const _Elem *)&quot;: template-Argument für &quot;const std::basic_string&lt;_Elem,_Traits,_Alloc&gt; &amp;&quot; konnte nicht von &quot;std::list&lt;_Ty&gt;::_Const_iterator&lt;_Secure_validation&gt;&quot; hergeleitet werden.</p>
</blockquote>
<p>Der Operator <strong>==</strong> funktioniert übrigens mit dem gleichen Aufruf. Unter Borland hat sowohl <strong>==</strong> als auch <strong>&lt;</strong> funktioniert.</p>
<p>Hat jemand eine Idee von Euch?</p>
<p>Vielen Dank schon mal.</p>
<p>Grüßle,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404144</guid><dc:creator><![CDATA[mathies]]></dc:creator><pubDate>Fri, 16 Nov 2007 09:18:19 GMT</pubDate></item><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 09:56:47 GMT]]></title><description><![CDATA[<p>Was möchtest Du denn machen (z.B. über die Liste iterieren bis zum vorletzten Item oder so...)??</p>
<p>Ansonsten würde ich sagen &lt;, &gt;, &lt;= und &gt;= sind nicht für Iteratoren.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404173</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Fri, 16 Nov 2007 09:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 10:05:25 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte sicherstellen, dass ich <strong>noch nicht am Ende der Liste</strong> bin. Wundert mich halt, dass es in Borland so ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Finde die Abfrage sicherer, als immer direkt auf das letzte Element zu prüfen.</p>
<p>Grüßle,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404183</guid><dc:creator><![CDATA[mathies]]></dc:creator><pubDate>Fri, 16 Nov 2007 10:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 10:09:39 GMT]]></title><description><![CDATA[<p>Unter Umständen weiss ein bidirektionaler Iterator nur um das vorherige und nächste Element, nicht aber in welcher Beziehung sein Element zu einer beliebigen Position steht. Deshalb müssen solche Iteratoren nur == und != implementieren. Ob eine Implementierung auch andere Operatoren anbietet, ist ihr freigestellt, auch, wie diese intern arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404185</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 16 Nov 2007 10:09:39 GMT</pubDate></item><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 10:12:17 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>So kann über die Liste iteriert werden.</p>
<pre><code class="language-cpp">std::list&lt;int&gt; list;
std::list&lt;int&gt;::const_iterator it = list.begin();
std::list&lt;int&gt;::const_iterator end = list.end();
for(;it != end; ++it)
{
   int i = *it;
}
</code></pre>
<p>Ich hoffe, ich habe nicht daneben geschossen. <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>
<p>Gruss Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404191</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Fri, 16 Nov 2007 10:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 10:25:26 GMT]]></title><description><![CDATA[<p>Könnte sein. Hab die Liste jetzt durch einen <strong>std::vector&lt;T&gt;</strong> ersetzt und jetzt funktionieren auch die &lt;&gt; Operatoren.</p>
<p>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>
<p>Grüßle,<br />
Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404201</guid><dc:creator><![CDATA[mathies]]></dc:creator><pubDate>Fri, 16 Nov 2007 10:25:26 GMT</pubDate></item><item><title><![CDATA[Reply to std::list&amp;lt;T&amp;gt;::iterator operator &amp;quot;&amp;lt;&amp;quot; und VisualC++ on Fri, 16 Nov 2007 10:32:36 GMT]]></title><description><![CDATA[<p>Auch mit std::vector sollte != benützt werden.<br />
Die Auswahl des am besten geeignetsten Containers darf nicht von &lt; oder &gt; abhängen. Jeder Container hat andere Vor- und Nachteile.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1404205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1404205</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Fri, 16 Nov 2007 10:32:36 GMT</pubDate></item></channel></rss>