<?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::map als Referenz übergeben ?]]></title><description><![CDATA[<p>Hi</p>
<p>Ich stehe gerade irgendwie aufm Schlauch:</p>
<p>Definition: (Header)</p>
<pre><code class="language-cpp">class myClass
{
  map&lt;int, int&gt; m_map;

  void foo();
  void bar(const map&lt;int, int&gt; &amp;m);
}
</code></pre>
<p>Implementierung: (cpp)</p>
<pre><code class="language-cpp">myClass::foo()
{
  ...
  bar(m_map);
  ...
}

myClass::bar(const map&lt;int, int&gt; &amp;m)
{
  ...
  map&lt;int, int&gt;::iterator it;
  for (it = m.begin(); it != m.end(); it++)
  {
    ...
  }
  ..
}
</code></pre>
<p>Mein Problem:<br />
Die Map ist ziemlich groß. Ich möchte sie also nicht direkt übergeben.<br />
Deswegen die Konsturktion mit &quot;const Referenz&quot;. So macht man das ja bei Integern etc auch (zumindest ich).</p>
<p>Aber irgendwie will das nicht. Mein GCC meckert mir die Zuweisung in der for-Schleife an. &quot;No matching for &quot;operator=&quot; ...&quot;</p>
<p>Was kann ich hier tun ? Sowas muss doch auch irgendwie gehen ?<br />
Ich stehe scheinbar aufm Schlauch <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="😞"
    /></p>
<p>Ich danke für Vorschläge !</p>
<p>Viele Grüße,<br />
Benjamin</p>
<p><strong>edit:</strong><br />
Fehler korrigiert. Danke, camper</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149597/std-map-als-referenz-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 07:40:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149597.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Jun 2006 15:47:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::map als Referenz übergeben ? on Wed, 07 Jun 2006 15:58:09 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Ich stehe gerade irgendwie aufm Schlauch:</p>
<p>Definition: (Header)</p>
<pre><code class="language-cpp">class myClass
{
  map&lt;int, int&gt; m_map;

  void foo();
  void bar(const map&lt;int, int&gt; &amp;m);
}
</code></pre>
<p>Implementierung: (cpp)</p>
<pre><code class="language-cpp">myClass::foo()
{
  ...
  bar(m_map);
  ...
}

myClass::bar(const map&lt;int, int&gt; &amp;m)
{
  ...
  map&lt;int, int&gt;::iterator it;
  for (it = m.begin(); it != m.end(); it++)
  {
    ...
  }
  ..
}
</code></pre>
<p>Mein Problem:<br />
Die Map ist ziemlich groß. Ich möchte sie also nicht direkt übergeben.<br />
Deswegen die Konsturktion mit &quot;const Referenz&quot;. So macht man das ja bei Integern etc auch (zumindest ich).</p>
<p>Aber irgendwie will das nicht. Mein GCC meckert mir die Zuweisung in der for-Schleife an. &quot;No matching for &quot;operator=&quot; ...&quot;</p>
<p>Was kann ich hier tun ? Sowas muss doch auch irgendwie gehen ?<br />
Ich stehe scheinbar aufm Schlauch <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="😞"
    /></p>
<p>Ich danke für Vorschläge !</p>
<p>Viele Grüße,<br />
Benjamin</p>
<p><strong>edit:</strong><br />
Fehler korrigiert. Danke, camper</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073265</guid><dc:creator><![CDATA[Benja_m]]></dc:creator><pubDate>Wed, 07 Jun 2006 15:58:09 GMT</pubDate></item><item><title><![CDATA[Reply to std::map als Referenz übergeben ? on Wed, 07 Jun 2006 15:56:39 GMT]]></title><description><![CDATA[<p>Benja_m schrieb:</p>
<blockquote>
<pre><code class="language-cpp">const &amp; map&lt;int, int&gt; m
</code></pre>
</blockquote>
<p>das ist allerdings ein syntaxfehler. richtig ist:</p>
<pre><code class="language-cpp">const map&lt;int, int&gt;&amp; m
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1073273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073273</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 07 Jun 2006 15:56:39 GMT</pubDate></item><item><title><![CDATA[Reply to std::map als Referenz übergeben ? on Wed, 07 Jun 2006 15:59:20 GMT]]></title><description><![CDATA[<p>sorry für den fehler.<br />
in meinem programm ist das schon so korrekt, wie du mich verbessert hast.</p>
<p>mein problem besteht aber weiterhin, da der compiler die for-schleifen-initialisierung anmeckert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073274</guid><dc:creator><![CDATA[Benja_m]]></dc:creator><pubDate>Wed, 07 Jun 2006 15:59:20 GMT</pubDate></item><item><title><![CDATA[Reply to std::map als Referenz übergeben ? on Wed, 07 Jun 2006 16:03:43 GMT]]></title><description><![CDATA[<p>Benja_m schrieb:</p>
<blockquote>
<p>mein problem besteht aber weiterhin, da der compiler die for-schleifen-initialisierung anmeckert.</p>
</blockquote>
<p>Nimm const_iterator statt iterator als Datentyp.<br />
Die normalen Iteratoren gestatten, das Objekt, auf das man verweist, zu verändern, demzufolge können die im Zusammenhang mit const-Containern nicht angewendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073276</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 07 Jun 2006 16:03:43 GMT</pubDate></item><item><title><![CDATA[Reply to std::map als Referenz übergeben ? on Wed, 07 Jun 2006 16:05:53 GMT]]></title><description><![CDATA[<p>Hallo Benja_m,</p>
<p>Da die map als const übergeben wurde, darfst Du Sie nicht verändern, also bekommst Du auch keinen Iterator, der eine Veränderung zulässt.<br />
Du musst</p>
<pre><code class="language-cpp">map&lt;int, int&gt;::const_iterator it;
</code></pre>
<p>nutzen.</p>
<p>DJohn</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073279</guid><dc:creator><![CDATA[DJohn]]></dc:creator><pubDate>Wed, 07 Jun 2006 16:05:53 GMT</pubDate></item><item><title><![CDATA[Reply to std::map als Referenz übergeben ? on Wed, 07 Jun 2006 17:41:11 GMT]]></title><description><![CDATA[<p>Ich sach doch:<br />
Brett vorm Kopp <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Herzlichen Dank !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1073345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1073345</guid><dc:creator><![CDATA[Benja_m]]></dc:creator><pubDate>Wed, 07 Jun 2006 17:41:11 GMT</pubDate></item></channel></rss>