<?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[Funktion überladen]]></title><description><![CDATA[<p>Moin moin!<br />
Ich würde gerne eine Funktion überladen und zwar in dieser Art und Weise:</p>
<pre><code class="language-cpp">int Funktion(void)

char Funktion(void)
</code></pre>
<p>Leider klappt das so nicht.</p>
<p>Wie bekomme ich das aber hin? Es muss doch dazu eine Lösung in C++ geben, oder?</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253727/funktion-überladen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 12:37:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253727.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Nov 2009 20:02:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:02:29 GMT]]></title><description><![CDATA[<p>Moin moin!<br />
Ich würde gerne eine Funktion überladen und zwar in dieser Art und Weise:</p>
<pre><code class="language-cpp">int Funktion(void)

char Funktion(void)
</code></pre>
<p>Leider klappt das so nicht.</p>
<p>Wie bekomme ich das aber hin? Es muss doch dazu eine Lösung in C++ geben, oder?</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804063</guid><dc:creator><![CDATA[navyseabear]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:06:29 GMT]]></title><description><![CDATA[<p>Nein anhand der Rückgabewerte kann eine Funktion nicht überladen werden. Wenn du sowas machen wilst, dann kommst du nicht drum herum das in der Parameterliste zu machen. (Ob mit einem nützlichen Parameter oder nicht sei dahingestellt, aber ich persönlich würde einen anderen Funktionsnamen wählen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804069</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:07:34 GMT]]></title><description><![CDATA[<p>Nein. Rückgabetypen werden bei der Funktionsauswahl nicht berücksichtigt.<br />
Je nach deinem Ziel könnte vielleicht Templategeschubse und Funktion&lt;char&gt;() das Richtige sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804070</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:13:07 GMT]]></title><description><![CDATA[<p>Das heißt, dass ich keine Chance habe eine Funktion mit unterschiedlichen Rückgabewerten zu erstellen?<br />
Das würde natürlich meine ganze Programmplannung durcheinander bringen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /><br />
Dabei dachte ich, ich hätte schon mal ein Funktion benutzt, welche so etwas angeboten hätte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804072</guid><dc:creator><![CDATA[navyseabear]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:15:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int Funktion();

char Funktion(char ich_bin_die_char_version_aber_nur_ein_dummy);
</code></pre>
<p>Geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804074</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:15:39 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:16:38 GMT]]></title><description><![CDATA[<p>Das Problem ist, wenn du dann nur Funktion(); schreibst, also den Rückgabewert nicht entgegen nimmst, wie soll dann der Compiler wissen, welche Version gemeint ist? Aus diesem Grund wurde eine Überladung nur Anhand des Rückgabetyps verboten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804077</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:16:38 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:18:09 GMT]]></title><description><![CDATA[<p>Knall doch einfach nen namespace drum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804078</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:20:32 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Knall doch einfach nen namespace drum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>OK, nun muss ich aber mal ganz blöd fragen: Was ist ein namespace?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804081</guid><dc:creator><![CDATA[navyseabear]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:20:32 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:25:03 GMT]]></title><description><![CDATA[<p>navyseabear schrieb:</p>
<blockquote>
<p>OK, nun muss ich aber mal ganz blöd fragen: Was ist ein namespace?</p>
</blockquote>
<pre><code class="language-cpp">namespace test
{
	void funk1()
	{
	}
};

void funk1()
{
}
</code></pre>
<p>Kannst das erste funk1 also über den Namensraum test erreichen: test::funk1();. Aber im nachhinein weiß ich nicht ob es eine optimale Lösung in deinem Fall wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804085</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:25:03 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:28:38 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Kannst das erste funk1 also über den Namensraum test erreichen: test::funk1();. Aber im nachhinein weiß ich nicht ob es eine optimale Lösung in deinem Fall wäre.</p>
</blockquote>
<p>nein, ich denke das wäre nicht so optimal. Vermutlich werde ich einfach mehrere Versionen meiner Funktion erstellen müssen mit unterschiedlichen Namen. Ist zwar nicht so schön, dafür aber funktioniert es.</p>
<p>Habt aber mal vielen Dank. Hat mir wirklich gedanklich weiter geholfen.</p>
<p>Tobias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804088</guid><dc:creator><![CDATA[navyseabear]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:38:48 GMT]]></title><description><![CDATA[<p>Schon mal an Template-Traits oder Spezialisierung gedacht? Vielleicht könnte man sie in deinem Fall ja anwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804091</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Thu, 05 Nov 2009 20:42:52 GMT]]></title><description><![CDATA[<p>navyseabear schrieb:</p>
<blockquote>
<p>nein, ich denke das wäre nicht so optimal. Vermutlich werde ich einfach mehrere Versionen meiner Funktion erstellen müssen mit unterschiedlichen Namen. Ist zwar nicht so schön, dafür aber funktioniert es.</p>
</blockquote>
<p>Wieso nicht so schön? Kannst du einen problembezogenen Code posten, inwiefern benötigst du dieses Verhalten?</p>
<p>Grundsätzlich wären benutzerdefinierte Konvertierungsoperatoren auch noch eine Möglichkeit, sind je nachdem aber die falsche Wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804093</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 05 Nov 2009 20:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion überladen on Fri, 06 Nov 2009 14:26:35 GMT]]></title><description><![CDATA[<p>Wenn du immer den Rückgabewert verwenden willst, wäre vielleicht auch folgendes möglich:</p>
<pre><code class="language-cpp">void func(char&amp; result);
void func(int&amp; result);

// Aufruf: statt char c = func();
char c;
func(c);
</code></pre>
<p>Dann findet der Compiler selbstständig die richtige Version.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1804427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1804427</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Fri, 06 Nov 2009 14:26:35 GMT</pubDate></item></channel></rss>