<?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[Funktionsrückgabewert]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich ärgere mich gerade mit etwas C++-Code rum, habe da wohl noch etwas grundlegendes nicht verstanden.</p>
<pre><code class="language-cpp">class MyClass
{
  public:
     float _x, _y;

     MyClass(const MyClass&amp; c) : _x(c._x), _y(c._y) {}
     MyClass(float x, float y) : _x(x), _y(y) {}

     MyClass getChanged()
     {
        return MyClass(_x*_x, _y*_y);
     }
};
</code></pre>
<pre><code class="language-cpp">int main(int argc, char *argv[])
{
  const MyClass a(1.0f, 1.5f);
  const MyClass b(a.getChanhged());
}
</code></pre>
<p>Das konstante Objekt a macht hier Probleme, ich ging immer davon aus das das return MyClass(...); aus Zeile 11 mir ein neues Objekt zurückliefert und nicht das bestehende überschreibt...</p>
<p>Würde mich über Hilfe oder einen Hinweis freuen!</p>
<p>Gruß Vanish</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220627/funktionsrückgabewert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 00:09:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220627.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Aug 2008 19:56:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 19:58:20 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich ärgere mich gerade mit etwas C++-Code rum, habe da wohl noch etwas grundlegendes nicht verstanden.</p>
<pre><code class="language-cpp">class MyClass
{
  public:
     float _x, _y;

     MyClass(const MyClass&amp; c) : _x(c._x), _y(c._y) {}
     MyClass(float x, float y) : _x(x), _y(y) {}

     MyClass getChanged()
     {
        return MyClass(_x*_x, _y*_y);
     }
};
</code></pre>
<pre><code class="language-cpp">int main(int argc, char *argv[])
{
  const MyClass a(1.0f, 1.5f);
  const MyClass b(a.getChanhged());
}
</code></pre>
<p>Das konstante Objekt a macht hier Probleme, ich ging immer davon aus das das return MyClass(...); aus Zeile 11 mir ein neues Objekt zurückliefert und nicht das bestehende überschreibt...</p>
<p>Würde mich über Hilfe oder einen Hinweis freuen!</p>
<p>Gruß Vanish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567183</guid><dc:creator><![CDATA[VanishOxiAction]]></dc:creator><pubDate>Mon, 18 Aug 2008 19:58:20 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 20:01:29 GMT]]></title><description><![CDATA[<p>du musst dem Compiler nochmal sagen, dass Getchanged das Object nicht verändert.</p>
<pre><code class="language-cpp">class MyClass
{
  public:
     float _x, _y;

     MyClass(const MyClass&amp; c) : _x(c._x), _y(c._y) {}
     MyClass(float x, float y) : _x(x), _y(y) {}

     MyClass getChanged() const // &lt;------- hier muss ein const hin
     {
        return MyClass(_x*_x, _y*_y);
     }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1567186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567186</guid><dc:creator><![CDATA[asdsad]]></dc:creator><pubDate>Mon, 18 Aug 2008 20:01:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 20:04:00 GMT]]></title><description><![CDATA[<p>VanishOxiAction schrieb:</p>
<blockquote>
<p>Das konstante Objekt a macht hier Probleme, ich ging immer davon aus das das return MyClass(...); aus Zeile 11 mir ein neues Objekt zurückliefert und nicht das bestehende überschreibt...</p>
</blockquote>
<p>Das weist du, aber der Funktionssignatur kann man das nicht entnehmen. Für die syntaktische Zulässigkeit der Funktionsaufrufs kommt es nur auf den Funktionstyp an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567188</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 18 Aug 2008 20:04:00 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 20:09:50 GMT]]></title><description><![CDATA[<p>Dieser Link erklärt alles nochmal:<br />
<a href="http://tutorial.schornboeck.net/constmethode.htm" rel="nofollow">http://tutorial.schornboeck.net/constmethode.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567192</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567192</guid><dc:creator><![CDATA[Fusel.Factor]]></dc:creator><pubDate>Mon, 18 Aug 2008 20:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 20:22:36 GMT]]></title><description><![CDATA[<p>Danke für die Antworten, sie haben mir schon sehr weitergeholfen!</p>
<p>Nur leider kommt jetzt noch eine Fehlermeldung:</p>
<blockquote>
<p>error C2166: L-Wert gibt ein const-Objekt an</p>
</blockquote>
<p>Gruß Vanish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567199</guid><dc:creator><![CDATA[VanishOxiAction]]></dc:creator><pubDate>Mon, 18 Aug 2008 20:22:36 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 20:40:17 GMT]]></title><description><![CDATA[<p>Also bei mir kompiliert es ohne Probleme:</p>
<pre><code class="language-cpp">class MyClass
{
  public:
     float _x, _y;

     MyClass(const MyClass&amp; c) : _x(c._x), _y(c._y) {}
     MyClass(float x, float y) : _x(x), _y(y) {}

     MyClass getChanged() const
     {
        return MyClass(_x*_x, _y*_y);
     }
}; 

int main( int argc, char** argv )
{
  const MyClass a(1.0f, 1.5f);
  const MyClass b(a.getChanged());

  return( 0 );
}
</code></pre>
<p>Poste mehr Quelltext, ansonsten:<br />
<a href="http://msdn.microsoft.com/en-us/library/5ew12bxy(VS.71).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/5ew12bxy(VS.71).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567210</guid><dc:creator><![CDATA[Fusel.Factor]]></dc:creator><pubDate>Mon, 18 Aug 2008 20:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionsrückgabewert on Mon, 18 Aug 2008 21:15:19 GMT]]></title><description><![CDATA[<p>Sorry, super danke es läuft!<br />
Ich hatte im return-Wert einen Arithmetischen Zuweisungsoperator (*=) drinnen.... Eindeutig Zeit fürs Bett. Danke für die tolle Hilfe!</p>
<p>Gruß Vanish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567218</guid><dc:creator><![CDATA[VanishOxiAction]]></dc:creator><pubDate>Mon, 18 Aug 2008 21:15:19 GMT</pubDate></item></channel></rss>