<?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[Problem mit Funktion]]></title><description><![CDATA[<p>Hallo ich hab ein Problem und zwar wie kann ich mir den Wert von der Variable a ausgeben lassen?</p>
<p>Ich bekomme immer nur b ausgeben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int start (int a, int b );

int main()
{
int a,b;
int erg;

erg = start(a,b);

cout&lt;&lt;erg&lt;&lt;endl;

system(&quot;PAUSE&quot;);
}
//---------------------------------------------------------------------------

int start (int a, int b )
{
a = 2;
b = 3;

return a,b;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/229402/problem-mit-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 22:18:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229402.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Dec 2008 10:32:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:32:45 GMT]]></title><description><![CDATA[<p>Hallo ich hab ein Problem und zwar wie kann ich mir den Wert von der Variable a ausgeben lassen?</p>
<p>Ich bekomme immer nur b ausgeben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int start (int a, int b );

int main()
{
int a,b;
int erg;

erg = start(a,b);

cout&lt;&lt;erg&lt;&lt;endl;

system(&quot;PAUSE&quot;);
}
//---------------------------------------------------------------------------

int start (int a, int b )
{
a = 2;
b = 3;

return a,b;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1628732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628732</guid><dc:creator><![CDATA[func]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:33:47 GMT]]></title><description><![CDATA[<p>So wie du es versuchst, kann man keine 2 Werte zurückgeben, es geht über einen Umweg aber das ist nich Thema. Soll heißen, man kann generell nur einen Wert zurückgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628734</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:33:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:38:11 GMT]]></title><description><![CDATA[<p>Eine Möglichkeit: Mach die Argumente deiner Funktion zu Pointern (so dass die Originale und keine Kopien in der Funktion verändert werden), und gib dann nach Aufruf der Funktion a und b einfach aus.</p>
<p>P.S.: Was hast du denn erwartet, was bei deiner Zuweisung (erg) passiert? Bekommt erg dann den Wert von a oder von b? Oder von beiden? Werden die dann addiert oder wie? <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="😉"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628738</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:38:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:39:10 GMT]]></title><description><![CDATA[<p>Ich weiß jetzt nicht genau was du vorhattest, aber du kannst nicht mit dem operator , ein int als die Nachkommastellen an ein anderes dranhängen, auch wenn das evtl. auf den ersten Blick Sinn ergeben würde, irgendwie vielleicht.</p>
<p>Aus der MSDN:<br />
Commas can be used as separators in some contexts, such as function argument lists. Do not confuse the use of the comma as a separator with its use as an operator; the two uses are completely different.</p>
<p>Consider the expression</p>
<p>e1 , e2</p>
<p>The type and value of the expression are the type and value of e2; the result of evaluating e1 is discarded. The result is an l-value if the right operand [...}.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628740</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:39:10 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:40:15 GMT]]></title><description><![CDATA[<p>Ja ich denke mal er hat einfach versucht beides zurückzugeben. Und das geht über den nativen Weg nicht. Wenn er es über Structs oder ne Class macht ist das natürlich kein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628742</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:40:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:44:08 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Eine Möglichkeit: Mach die Argumente deiner Funktion zu Pointern (so dass die Originale und keine Kopien in der Funktion verändert werden), und gib dann nach Aufruf der Funktion a und b einfach aus.</p>
</blockquote>
<p>Besser: Mit Referenzen. Leichter zu lesen, und die Argumente können nicht NULL sein...</p>
<pre><code class="language-cpp">void a_b_setzen(int &amp; a, int &amp; b)
{
    a = 2;
    b = 3;
}

void a_b_setzen(int * a, int * b)
{
    if(a)
      *a = 2;
    if(b)
      *b = 3;
}
</code></pre>
<p>Also da sind Referenzen mir doch deutlich lieber...</p>
<p>P.S: Ändert nichts daran das dies aber die Ursprünglichen Werte ändert, und kein Ergebniswert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628744</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:46:36 GMT]]></title><description><![CDATA[<p>Mit den einen, feinen Unterschied, dass man eine Übergabe per (C++-)Referenz an der aufrufenden Stelle nicht optisch von normalem by-value unterscheiden kann. Aber das NULL-Argument ist natürlich vollkommen richtig. Vielleicht sollte ich langsam mal anfangen, mich umzugewöhnen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1628749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628749</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:46:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 10:53:17 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Mit den einen, feinen Unterschied, dass man eine Übergabe per (C++-)Referenz an der aufrufenden Stelle nicht optisch von normalem by-value unterscheiden kann.</p>
</blockquote>
<p>So? Also zumindestens meine IDE zeigt die Typen der Parameter an...<br />
Ja, im Code kann man es an der Aufrufstelle nicht erkennen (Daher habe ich die Funktion auch &quot;a_b_setzen&quot; genannt; zumindestens aussagekräftiger als &quot;start&quot;...).</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Aber das NULL-Argument ist natürlich vollkommen richtig. Vielleicht sollte ich langsam mal anfangen, mich umzugewöhnen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <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>
</blockquote>
<p>Mich stören eher die Sprachen bei denen man dies Typabhängig betrachten muss (Sprich sowas wie Implizite Wertübergabe bei integralen werden und PODs und Referenzübergabe bei Klassen und Co...). In C++ sieht man es wenigstens dem Funktionsrumpf an, und kann auch angeben ob änderbar oder nicht (const bei Parametern vermisse ich auch in vielen Sprachen, gerade bei impliziter Referenzübergabe).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628758</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 11 Dec 2008 10:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 11:10:49 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>So? Also zumindestens meine IDE zeigt die Typen der Parameter an...</p>
</blockquote>
<p>Sicher, wenn du die Maus in die Hand nimmst und dir den Tooltip holst. Ich bin (zumindest beim Programmieren) eigentlich eher der Tastatur-Freak, der eine Maus nur in höchster Not anpackt. <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="😉"
    /> Im Ernst, ich finde es einfach schöner, wenn man sowas auf einen Blick sieht, und das bietet keine IDE. Warum konnte man nicht einfach festlegen, dass z.B. bei der Übergabe auch ein &quot;&amp;&quot; hinter dem Bezeichner stehen muss/kann? Hätte mir besser gefallen. Aber das sind letztlich nur Kleinigkeiten. Und ich gab dir ja Recht, dass Referenzen Vorteile haben, die nicht von der Hand zu weisen sind, Man sollte seine optischen Ansprüche vielleicht nicht über die Sicherheit des Codes stellen (solange die negativen Auswirkungen sich im Rahmen halten und ihrerseits nicht wieder die Sicherheit gefährden <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1628775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628775</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Thu, 11 Dec 2008 11:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 11:15:42 GMT]]></title><description><![CDATA[<p>Welche Parameter eine Funktion erwartet musst du doch eh nachschauen, ansonsten wüsstest du ja gar nicht was du da überhaupt hinschreiben musst. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1628779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628779</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 11 Dec 2008 11:15:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Funktion on Thu, 11 Dec 2008 11:20:14 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>So? Also zumindestens meine IDE zeigt die Typen der Parameter an...</p>
</blockquote>
<p>Sicher, wenn du die Maus in die Hand nimmst und dir den Tooltip holst.</p>
</blockquote>
<p>Der kommt beim Tippen nach kurzen Warten auch ohne Maus...</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Ich bin (zumindest beim Programmieren) eigentlich eher der Tastatur-Freak, der eine Maus nur in höchster Not anpackt. <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>
</blockquote>
<p>Während des Programmierens ist dies bei mir auch so (Obwohl ich zu denen gehöre die mit der Maus aufgewachsen sind. Am Atari ST war die Maus gang und gäbe, der Umstieg auf DOS und Windows 3.1 war im ersten Moment für mich ein Rückschritt).</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Warum konnte man nicht einfach festlegen, dass z.B. bei der Übergabe auch ein &quot;&amp;&quot; hinter dem Bezeichner stehen muss/kann? Hätte mir besser gefallen.</p>
</blockquote>
<p>Ich hätte auch nichts gegen Markierungen wie in/out/ref bei Übergaben, so in der Form: &quot;a_b_austauschen(ref a, ref b);&quot;. Aber dazu ist die Syntax von C++ schon viel zu alt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628782</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 11 Dec 2008 11:20:14 GMT</pubDate></item></channel></rss>