<?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[Problem mit iterator by QMap]]></title><description><![CDATA[<p>Ich bekomme diese Fehlermeldung</p>
<blockquote>
<p>.\include\qtdevices\CommonPositioningController.cpp:61: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:</p>
<p>c:\Qt\SDK\2010.02.1\qt\include\QtCore/../../src/corelib/tools/qmap.h:254: note: candidate 1: QMap&lt;Key, T&gt;::iterator QMap&lt;Key, T&gt;::iterator::operator+(int) const [with Key = CommonPositioningController::PositioningStage, T = int]</p>
<p>..\include\qtdevices\CommonPositioningController.cpp:61: note: candidate 2: operator+(int, size_t) &lt;built-in&gt;</p>
</blockquote>
<p>für diesen Quellcode:</p>
<pre><code class="language-cpp">void CommonPositioningController::selectStage(size_t stageItemIndex)
{
    if (stageItemIndex &lt; d-&gt;stageToAxisNumberMap.size()) {
        QMap&lt;PositioningStage, int&gt;::iterator i = d-&gt;stageToAxisNumberMap.begin() + stageItemIndex;
</code></pre>
<p>hierbei ist PositioningStage ein enum.</p>
<p>Ich verstehe prinzipiell nicht was der Fehler eigentlich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271541/problem-mit-iterator-by-qmap</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 11:19:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271541.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Jul 2010 09:12:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit iterator by QMap on Fri, 30 Jul 2010 09:12:21 GMT]]></title><description><![CDATA[<p>Ich bekomme diese Fehlermeldung</p>
<blockquote>
<p>.\include\qtdevices\CommonPositioningController.cpp:61: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:</p>
<p>c:\Qt\SDK\2010.02.1\qt\include\QtCore/../../src/corelib/tools/qmap.h:254: note: candidate 1: QMap&lt;Key, T&gt;::iterator QMap&lt;Key, T&gt;::iterator::operator+(int) const [with Key = CommonPositioningController::PositioningStage, T = int]</p>
<p>..\include\qtdevices\CommonPositioningController.cpp:61: note: candidate 2: operator+(int, size_t) &lt;built-in&gt;</p>
</blockquote>
<p>für diesen Quellcode:</p>
<pre><code class="language-cpp">void CommonPositioningController::selectStage(size_t stageItemIndex)
{
    if (stageItemIndex &lt; d-&gt;stageToAxisNumberMap.size()) {
        QMap&lt;PositioningStage, int&gt;::iterator i = d-&gt;stageToAxisNumberMap.begin() + stageItemIndex;
</code></pre>
<p>hierbei ist PositioningStage ein enum.</p>
<p>Ich verstehe prinzipiell nicht was der Fehler eigentlich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933895</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Fri, 30 Jul 2010 09:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit iterator by QMap on Fri, 30 Jul 2010 09:21:08 GMT]]></title><description><![CDATA[<p>Der Fehler ist, dass du einen operator+ auf einen Iterator und einen size_t anwendest. einen solchen operator kennt der Compiler aber nicht, er kennt nur zwei Kandidaten, die durch umwandlung der Argumente erreicht werden können:</p>
<p>Iterator + int<br />
int + size_t</p>
<p>bei ersterem wird das size_t in ein int verwandelt (was du vermutlich willst), bei letzterem der Iterator in ein int.<br />
Da bei beiden genau eine Umwandlung vonnöten ist, kann der Compiler nicht feststellen was die richtige Alternative ist.</p>
<p>Als Lösung musst du es ihm sagen, indem du das eine Argument in einen int castest.</p>
<p>Das zeigt mal wieder, wie viele probleme Konvertierungsoperatoren machen können, weil der Compiler in solchen Fällen eben stillschweigend alle möglichen Konvertierungen in Betracht zieht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933900</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 30 Jul 2010 09:21:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit iterator by QMap on Fri, 30 Jul 2010 10:10:56 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Der Fehler ist, dass du einen operator+ auf einen Iterator und einen size_t anwendest. einen solchen operator kennt der Compiler aber nicht, er kennt nur zwei Kandidaten, die durch umwandlung der Argumente erreicht werden können:</p>
<p>Iterator + int<br />
int + size_t</p>
</blockquote>
<p>Die Qt4 QMap implementiert einen bidirektionalen Iterator. Da dürfte &quot;Iterator + int&quot; eigentlich nicht funktionieren.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14053">@pospiech</a>:<br />
Was soll die ganze Operation auch logisch bedeuten? Eine Map wird nach ihrem ersten Argument (also PositioningStage) sortiert, ich erhalte also das n-te Element nach dieser Sortierung.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933932</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 30 Jul 2010 10:10:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit iterator by QMap on Fri, 30 Jul 2010 10:19:18 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>pumuckl schrieb:</p>
<blockquote>
<p>Die Qt4 QMap implementiert einen bidirektionalen Iterator. Da dürfte &quot;Iterator + int&quot; eigentlich nicht funktionieren.</p>
</blockquote>
</blockquote>
<p>Ok, die Trolle haben doch mehr implementiert.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1933934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1933934</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 30 Jul 2010 10:19:18 GMT</pubDate></item></channel></rss>