<?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[Wo ist der Fehler ??]]></title><description><![CDATA[<p>Tach...</p>
<p>Fehlerhafte Codezeile:</p>
<pre><code>std::string m_raw;
std::vector&lt;std::string&gt; m_params;

m_raw +=(std::string(&quot; &quot;) += m_params[pcnt];
</code></pre>
<p>Prototyp:</p>
<pre><code>basic_string&lt;Typ&gt;&amp; operator+=(const basic_string&lt;Typ&gt;&amp; Objekt);
</code></pre>
<p>Müsste doch alles stimmen ???</p>
<p>MinGW schrieb:</p>
<blockquote>
<p>stmconfig.cpp:9: error: passing `const std::string' as `this' argument of `std::basic_string&lt;_CharT, _Traits, _Alloc&gt;&amp; std::basic_string&lt;_CharT, _Traits, _Alloc&gt;::operator+=(const std::basic_string&lt;_CharT, _Traits, _Alloc&gt;&amp;) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;, _Alloc = std::allocator&lt;char&gt;]' discards qualifiers</p>
</blockquote>
<p>Die Fehlermeldung hab ich noch nicht entschlüsselt ... ich hoffe hier kann mir jemand helfen? Scheint ja nur ne Kleinigkeit zu sein?!</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/123097/wo-ist-der-fehler</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 10:34:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/123097.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Oct 2005 21:54:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wo ist der Fehler ?? on Wed, 12 Oct 2005 21:54:34 GMT]]></title><description><![CDATA[<p>Tach...</p>
<p>Fehlerhafte Codezeile:</p>
<pre><code>std::string m_raw;
std::vector&lt;std::string&gt; m_params;

m_raw +=(std::string(&quot; &quot;) += m_params[pcnt];
</code></pre>
<p>Prototyp:</p>
<pre><code>basic_string&lt;Typ&gt;&amp; operator+=(const basic_string&lt;Typ&gt;&amp; Objekt);
</code></pre>
<p>Müsste doch alles stimmen ???</p>
<p>MinGW schrieb:</p>
<blockquote>
<p>stmconfig.cpp:9: error: passing `const std::string' as `this' argument of `std::basic_string&lt;_CharT, _Traits, _Alloc&gt;&amp; std::basic_string&lt;_CharT, _Traits, _Alloc&gt;::operator+=(const std::basic_string&lt;_CharT, _Traits, _Alloc&gt;&amp;) [with _CharT = char, _Traits = std::char_traits&lt;char&gt;, _Alloc = std::allocator&lt;char&gt;]' discards qualifiers</p>
</blockquote>
<p>Die Fehlermeldung hab ich noch nicht entschlüsselt ... ich hoffe hier kann mir jemand helfen? Scheint ja nur ne Kleinigkeit zu sein?!</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890941</guid><dc:creator><![CDATA[kyle++ 0]]></dc:creator><pubDate>Wed, 12 Oct 2005 21:54:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der Fehler ?? on Wed, 12 Oct 2005 22:10:04 GMT]]></title><description><![CDATA[<pre><code>std::string m_raw;
std::vector&lt;std::string&gt; m_params;

m_raw +=(std::string(&quot; &quot;) + m_params[pcnt];
</code></pre>
<p>Dein zweites += war falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890948</guid><dc:creator><![CDATA[imhotep]]></dc:creator><pubDate>Wed, 12 Oct 2005 22:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der Fehler ?? on Wed, 12 Oct 2005 22:36:37 GMT]]></title><description><![CDATA[<p>Tach...</p>
<p>Hier mal die ganze Methode:</p>
<pre><code>std::string rbStmCfg::rbStmCfgEntry::GetRawData() const {
	if(m_rawvalid) 
		return m_raw;
  else {
  	m_raw.erase(0, m_raw.length() - 1) += m_name;
  	for(int pcnt = 0; pcnt &lt; m_params.size(); pcnt++)
      m_raw += std::string(&quot; &quot;) + m_params[pcnt];
  };
}
</code></pre>
<p>Bei beiden Aufrufen erhalte ich den obigen Fehler. Ich habs jetzt voerst so wie in deinem Post, doch eigentlich wüsste ich nicht warum??<br />
Der Operator liefert doch eine Referenz zurück um beispielsweise einen weiteren Operator oder einen Methodenaufruf dranhängen zu können. Daher müsste es doch so funktionieren. Erase() liefert ebenfalls eine Referenz, also müsste ich hier auch einfach den Operator dranhängen können?!?!<br />
Naja alles in allem funktioniert das so jedenfalls noch immer nicht!</p>
<p>[edit]</p>
<p>Gerade nochwas getested ... erstaunlicherweise funktioniert es so auch nicht, was vom Prinzip her aber auch korrekt sein müsste.</p>
<pre><code>(m_raw.erase(0, m_raw.length() - 1)).append(m_name);
</code></pre>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890955</guid><dc:creator><![CDATA[kyle++ 0]]></dc:creator><pubDate>Wed, 12 Oct 2005 22:36:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der Fehler ?? on Wed, 12 Oct 2005 22:38:37 GMT]]></title><description><![CDATA[<p>imho darf die methode nicht const sein da sie werte veraendert</p>
<p>gruesse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890958</guid><dc:creator><![CDATA[TDO]]></dc:creator><pubDate>Wed, 12 Oct 2005 22:38:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der Fehler ?? on Wed, 12 Oct 2005 23:04:50 GMT]]></title><description><![CDATA[<p>Tach...</p>
<p>Verdammt ... ursprünglich war die Methode so geplant, dass das const schon seine Berechtigung gehabt hätte ... das hab ich ganz vergessen. Danke ...</p>
<p>Wenn ich mir jetzt mal die Compilermeldung anschaue, könnte man schon auf sowas schließen, da bin ich noch viel zu verwöhnt von anderen IDE's.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890971</guid><dc:creator><![CDATA[_kyle++]]></dc:creator><pubDate>Wed, 12 Oct 2005 23:04:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist der Fehler ?? on Thu, 13 Oct 2005 06:57:52 GMT]]></title><description><![CDATA[<p>eventuell reicht es auch schon, m_raw als volatile zu definieren (wenn du davon ausgehst, daß der tatsächliche Inhalt nicht zur strukturellen &quot;const&quot;anz deines Objekts gehört.</p>
<p>Btw, ein &quot;m_rawvalid = true; return m_raw;&quot; im else-Zweig wäre nach meiner Vorstellung auch nicht verkehrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/891054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/891054</guid><dc:creator><![CDATA[CS]]></dc:creator><pubDate>Thu, 13 Oct 2005 06:57:52 GMT</pubDate></item></channel></rss>