<?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[Parametersignatur]]></title><description><![CDATA[<p>Ich habe eigentlich nur eine kurze Frage auf die ich bisher noch keine verständliche Antwort gefunden habe:</p>
<p>Eine Parametersignatur wird ja genutzt, um anhand der Übergabeparametertypen und der Anzahl der Übergabewerte die zu nutzende überladene Funktion zu ermitteln (korrigiert mich, wenn das falsch erklärt ist!).<br />
Nun bekam ich die Frage gestellt warum genau der Rückgabewert der Funktion sowie die Default-Argumente nicht mit in die Parametersignatur eingehen.</p>
<p>Für verständliche Antworten wäre ich sehr dankbar.</p>
<p>Gruß<br />
Santus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217375/parametersignatur</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 17:40:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217375.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Jul 2008 09:25:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:25:31 GMT]]></title><description><![CDATA[<p>Ich habe eigentlich nur eine kurze Frage auf die ich bisher noch keine verständliche Antwort gefunden habe:</p>
<p>Eine Parametersignatur wird ja genutzt, um anhand der Übergabeparametertypen und der Anzahl der Übergabewerte die zu nutzende überladene Funktion zu ermitteln (korrigiert mich, wenn das falsch erklärt ist!).<br />
Nun bekam ich die Frage gestellt warum genau der Rückgabewert der Funktion sowie die Default-Argumente nicht mit in die Parametersignatur eingehen.</p>
<p>Für verständliche Antworten wäre ich sehr dankbar.</p>
<p>Gruß<br />
Santus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542353</guid><dc:creator><![CDATA[Santus]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:32:39 GMT]]></title><description><![CDATA[<p>weil der rückgabewert nicht genutzt werden muss, und die default-argumente weggelassen werden können.</p>
<pre><code class="language-cpp">int func(int i = 28);
double func(myclass *ptr = 0);
// ....
func();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542359</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:32:39 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:37:03 GMT]]></title><description><![CDATA[<p>So hätte ich mir die Frage auch wohl selbst beantwortet. Ich hoffe, dass es in der Klausur reicht, wenn ich das so erkläre. <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>
<p>Danke für die Antwort.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542365</guid><dc:creator><![CDATA[Santus]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:37:03 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:44:36 GMT]]></title><description><![CDATA[<p>Die Signaturen unterscheiden sich ja beim Aufruf einer Funktion. Und da man beim Aufruf den Rückgabetypen nicht erkennt und die Defaultparameter ebenfalls nicht, gehören sie nicht zur Signatur.</p>
<p>Beim folgenden Beispiel ist aus diesem Grund der Aufruf nicht eindeutig:</p>
<pre><code class="language-cpp">int func(int x, float y = 0.f);
double func(int x);

func(4); // welcher Rückgabetyp?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542372</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:44:36 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:50:19 GMT]]></title><description><![CDATA[<p>Wäre folgende Änderung deines Codes dann auch nicht eindeutig?</p>
<pre><code class="language-cpp">int func(int x, float y = 0.f); 
double func(int x); 

func(4,3);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542380</guid><dc:creator><![CDATA[Santus]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:50:19 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:52:54 GMT]]></title><description><![CDATA[<p>Doch, diese wäre eindeutig, weil es ja nur eine Funktion mit dem Namen <code>func</code> und den Parametertypen <code>int</code> , <code>float</code> (also 2 Parameter) gibt. Da das zweite Argument ein Integer ist, kommt hier eine Standardkonvertierung ( <code>int</code> zu <code>float</code> ) zum Zug.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542384</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:52:54 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 09:57:42 GMT]]></title><description><![CDATA[<p>Supi, jetzt habe ich es. Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542390</guid><dc:creator><![CDATA[Santus]]></dc:creator><pubDate>Mon, 07 Jul 2008 09:57:42 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 11:53:16 GMT]]></title><description><![CDATA[<p>Santus schrieb:</p>
<blockquote>
<p>Wäre folgende Änderung deines Codes dann auch nicht eindeutig?</p>
<pre><code class="language-cpp">int func(int x, float y = 0.f); 
double func(int x); 

func(4,3);
</code></pre>
</blockquote>
<p>der kompiler würde aber höchstwarscheinlich trotzdem nen fehler melden da</p>
<p>[cpp]int func(int x, float y = 0.f);<br />
double func(int x);</p>
<p>beide mit nur einem argument aufgerufen werden können.<br />
besser wäre es den defaultwert ganz wegzulassen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1542530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542530</guid><dc:creator><![CDATA[seelenquell]]></dc:creator><pubDate>Mon, 07 Jul 2008 11:53:16 GMT</pubDate></item><item><title><![CDATA[Reply to Parametersignatur on Mon, 07 Jul 2008 12:04:34 GMT]]></title><description><![CDATA[<p>seelenquell schrieb:</p>
<blockquote>
<p>der kompiler würde aber höchstwarscheinlich trotzdem nen fehler melden</p>
</blockquote>
<p>Nein, der Funktionsaufruf ist eindeutig. Probiers aus, wenn du es nicht glaubst.</p>
<p>seelenquell schrieb:</p>
<blockquote>
<p>beide mit nur einem argument aufgerufen werden können.<br />
besser wäre es den defaultwert ganz wegzulassen</p>
</blockquote>
<p>Wie meinst du das jetzt? Die eine Funktion kann ja mit zwei Argumenten aufgerufen werden (nur die eine). Somit kommt für den folgenden Aufruf auch nur eine der beiden überladenen Funktionen in Frage:</p>
<pre><code class="language-cpp">func(4,3);
</code></pre>
<p>Ich vermute, du hast etwas falsch verstanden. Ein Defaultwert heisst nicht, dass man diesen Parameter nicht übergeben kann, sondern, dass wenn kein Argument übergeben wird, der Standardwert (in deinem Beispiel <code>0.f</code> ) für diesen Parameter eingesetzt wird.</p>
<pre><code class="language-cpp">int func(int x, float y = 0.f); // nehmen wir an, es gibt nur diese Funktion

func(4);       // Dieser Aufruf bewirkt das Gleich wie
func(4, 0.f);  // dieser
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1542539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1542539</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 07 Jul 2008 12:04:34 GMT</pubDate></item></channel></rss>