<?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[operator += ueberschreiben]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;typename T&gt;
class base {
    T m_var;

public:
    base(const T&amp; value): m_var(value) {};
    base&lt;T&gt; operator +=(const base&lt;T&gt;&amp;	obj){ 
        this-&gt;m_var += obj.m_var;              // hier soll der fehler sein
        return *this;
    };
};

class derived: public base&lt;LPSTR&gt; {
public:
    base&lt;LPSTR&gt; operator +=(const base&lt;LPSTR&gt;&amp;	obj){
        return *this;
    };
};
</code></pre>
<p>folgende kompilierfehler bekomme ich, ich hab doch die operator funktion in derived ueberschrieben, warum trotz fehler?</p>
<blockquote>
<p>Error 1 error C2297: '+=' : illegal, right operand has type 'const LPSTR ' ZProject</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/250976/operator-ueberschreiben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 17:58:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250976.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 27 Sep 2009 16:07:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operator += ueberschreiben on Mon, 28 Sep 2009 14:06:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;typename T&gt;
class base {
    T m_var;

public:
    base(const T&amp; value): m_var(value) {};
    base&lt;T&gt; operator +=(const base&lt;T&gt;&amp;	obj){ 
        this-&gt;m_var += obj.m_var;              // hier soll der fehler sein
        return *this;
    };
};

class derived: public base&lt;LPSTR&gt; {
public:
    base&lt;LPSTR&gt; operator +=(const base&lt;LPSTR&gt;&amp;	obj){
        return *this;
    };
};
</code></pre>
<p>folgende kompilierfehler bekomme ich, ich hab doch die operator funktion in derived ueberschrieben, warum trotz fehler?</p>
<blockquote>
<p>Error 1 error C2297: '+=' : illegal, right operand has type 'const LPSTR ' ZProject</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1785010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785010</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Mon, 28 Sep 2009 14:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to operator += ueberschreiben on Sun, 27 Sep 2009 16:10:44 GMT]]></title><description><![CDATA[<ol>
<li></li>
</ol>
<pre><code class="language-cpp">base&amp; operator+= (const base &amp;obj){
        m_var += obj.m_var;              // hier soll der fehler sein
        return *this;
    };
};
</code></pre>
<ol start="2">
<li><code>LPSTR</code> klingt nach nem pointer - dort sollte der += op nicht gerade das machen, was du erwartest...</li>
</ol>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785011</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 27 Sep 2009 16:10:44 GMT</pubDate></item><item><title><![CDATA[Reply to operator += ueberschreiben on Mon, 28 Sep 2009 14:34:53 GMT]]></title><description><![CDATA[<p>kann mir niemand weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785464</guid><dc:creator><![CDATA[JnZn558]]></dc:creator><pubDate>Mon, 28 Sep 2009 14:34:53 GMT</pubDate></item><item><title><![CDATA[Reply to operator += ueberschreiben on Mon, 28 Sep 2009 14:50:43 GMT]]></title><description><![CDATA[<p>Deine Fehlermeldung bedeutet, dass es keinen Operator += mit LPSTR auf beiden Seiten gibt. Da unskilled wahrscheinlich richtig vermutet, dass es sich um einen Pointertyp handelt, macht das auch Sinn.</p>
<p>Für eine weiterführende Hilfe müsstest du uns sagen, was LPSTR ist und was du erreichen willst. Sollte LPSTR nämlich wirklich etwas Pointerartiges sein, dann macht die Operation += nämlich herzlich wenig Sinn und es deutet darauf hin, dass du eigentlich etwas anderes möchtest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785481</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 28 Sep 2009 14:50:43 GMT</pubDate></item><item><title><![CDATA[Reply to operator += ueberschreiben on Mon, 28 Sep 2009 15:08:07 GMT]]></title><description><![CDATA[<p>Naja das is ja nicht seine Frage.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7142">@JnZn558</a>:<br />
Der Fehler kommt, da trotz Überschreiben die Basisklassen-Version generiert wird.<br />
Du könntest stattdessen die Basisklassen-Version spezialisieren:</p>
<pre><code class="language-cpp">template &lt;&gt;
base&lt;char*&gt; base&lt;char*&gt;::operator += (base&lt;char*&gt; const&amp; rhs)
{
    return *this;
}
</code></pre>
<p>Und BTW: Den Operator += lässt man normalerweise eine Referenz auf *this zurückgeben, nicht eine Kopie wie du das machst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785497</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 28 Sep 2009 15:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to operator += ueberschreiben on Mon, 28 Sep 2009 15:22:53 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Der Fehler kommt, da trotz Überschreiben die Basisklassen-Version generiert wird.</p>
</blockquote>
<p>Wenn du mit Generieren Instantiieren meinst: dafür gibt es im gezeigten Code keinen Grund - der ist also vermutlich unvollständig.</p>
<p>Abgesehen davon wundert mich etwas, dass noch keiner darauf hingewiesen hat, dass es hier um Überladung und nicht um Überschreiben geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1785503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1785503</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 28 Sep 2009 15:22:53 GMT</pubDate></item></channel></rss>