<?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[Ist &amp;lt;list&amp;gt;.begin() nicht konstant?]]></title><description><![CDATA[<p>Hallo zusammen,<br />
beim kompilieren des folgenden Codes bekomme ich diese Meldung:</p>
<pre><code>g++ -o test test.cpp
test.cpp: In member function ‘int Test::getAddVal() const’:
test.cpp:12: error: passing ‘const std::map&lt;int, std::list&lt;int, std::allocator&lt;int&gt; &gt;, std::less&lt;int&gt;, 
std::allocator&lt;std::pair&lt;const int, std::list&lt;int, std::allocator&lt;int&gt; &gt; &gt; &gt; &gt;’ as ‘this’ argument of 
‘_Tp&amp; std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::operator[](const _Key&amp;) [with _Key = int, _Tp = std::list&lt;int, std::allocator&lt;int&gt; &gt;, _Compare = 
std::less&lt;int&gt;, _Alloc = std::allocator&lt;std::pair&lt;const int, std::list&lt;int, std::allocator&lt;int&gt; &gt; &gt; &gt;]’ discards qualifiers
</code></pre>
<p>Wenn ich getAddVal() ohne const schreibe dann funktionierst. Weiss jemand wieso das so ist? Weil eigentlich verändert &lt;list&gt;.begin() ja nichts.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;list&gt;
#include &lt;map&gt;

class Test {
public:
	Test() { 
		ml[0].push_back(3);
		ml[0].push_back(5);	
	};
	int getAddVal() const {
		std::list&lt;int&gt;::const_iterator it = ml[0].begin();
	};
private:
	std::map&lt;int, std::list&lt;int&gt; &gt; ml;

};

int main(){
	Test *test = new Test(); 	

	delete test;
	return 0;
}
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278178/ist-lt-list-gt-begin-nicht-konstant</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 12:59:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278178.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Dec 2010 13:59:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ist &amp;lt;list&amp;gt;.begin() nicht konstant? on Wed, 01 Dec 2010 13:59:00 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
beim kompilieren des folgenden Codes bekomme ich diese Meldung:</p>
<pre><code>g++ -o test test.cpp
test.cpp: In member function ‘int Test::getAddVal() const’:
test.cpp:12: error: passing ‘const std::map&lt;int, std::list&lt;int, std::allocator&lt;int&gt; &gt;, std::less&lt;int&gt;, 
std::allocator&lt;std::pair&lt;const int, std::list&lt;int, std::allocator&lt;int&gt; &gt; &gt; &gt; &gt;’ as ‘this’ argument of 
‘_Tp&amp; std::map&lt;_Key, _Tp, _Compare, _Alloc&gt;::operator[](const _Key&amp;) [with _Key = int, _Tp = std::list&lt;int, std::allocator&lt;int&gt; &gt;, _Compare = 
std::less&lt;int&gt;, _Alloc = std::allocator&lt;std::pair&lt;const int, std::list&lt;int, std::allocator&lt;int&gt; &gt; &gt; &gt;]’ discards qualifiers
</code></pre>
<p>Wenn ich getAddVal() ohne const schreibe dann funktionierst. Weiss jemand wieso das so ist? Weil eigentlich verändert &lt;list&gt;.begin() ja nichts.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;list&gt;
#include &lt;map&gt;

class Test {
public:
	Test() { 
		ml[0].push_back(3);
		ml[0].push_back(5);	
	};
	int getAddVal() const {
		std::list&lt;int&gt;::const_iterator it = ml[0].begin();
	};
private:
	std::map&lt;int, std::list&lt;int&gt; &gt; ml;

};

int main(){
	Test *test = new Test(); 	

	delete test;
	return 0;
}
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988548</guid><dc:creator><![CDATA[mich1985]]></dc:creator><pubDate>Wed, 01 Dec 2010 13:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to Ist &amp;lt;list&amp;gt;.begin() nicht konstant? on Wed, 01 Dec 2010 14:03:37 GMT]]></title><description><![CDATA[<p>Der operator[] der map ist nicht const. find sollte aber gehen: <code>std::list&lt;int&gt;::const_iterator it = ml.find(0)-&gt;second.begin();</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988552</guid><dc:creator><![CDATA[jokester]]></dc:creator><pubDate>Wed, 01 Dec 2010 14:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Ist &amp;lt;list&amp;gt;.begin() nicht konstant? on Wed, 01 Dec 2010 14:12:47 GMT]]></title><description><![CDATA[<p>Danke! Es funktioniert jetzt!</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988556</guid><dc:creator><![CDATA[mich1985]]></dc:creator><pubDate>Wed, 01 Dec 2010 14:12:47 GMT</pubDate></item></channel></rss>