<?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[Mehrdeutiger Aufruf einer überladenen Funktion]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte konstante Zeichenketten a la &quot;abc&quot; und die Inhalte der Referenzen auf Strings per cout ausgeben:</p>
<pre><code class="language-cpp">void chk(string s)
{
	cout &lt;&lt; &quot;no ref&quot; &lt;&lt; endl;
	cout &lt;&lt; s &lt;&lt; endl;
}

void chk(string&amp; s)
{
	cout &lt;&lt; &quot;ref&quot; &lt;&lt; endl;
	cout &lt;&lt; s &lt;&lt; endl;
}

string s(&quot;aha&quot;);
	chk(s); // Mehrdeutiger Aufruf einer überladenen Funktion
	chk(&quot;soso&quot;);
</code></pre>
<p>Ich bekomme eine Fehlermeldung:</p>
<blockquote>
<p>Mehrdeutiger Aufruf einer überladenen Funktion.</p>
</blockquote>
<p>Wie mache ich das am besten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245874/mehrdeutiger-aufruf-einer-überladenen-funktion</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 12:12:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245874.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Jul 2009 10:31:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:31:29 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte konstante Zeichenketten a la &quot;abc&quot; und die Inhalte der Referenzen auf Strings per cout ausgeben:</p>
<pre><code class="language-cpp">void chk(string s)
{
	cout &lt;&lt; &quot;no ref&quot; &lt;&lt; endl;
	cout &lt;&lt; s &lt;&lt; endl;
}

void chk(string&amp; s)
{
	cout &lt;&lt; &quot;ref&quot; &lt;&lt; endl;
	cout &lt;&lt; s &lt;&lt; endl;
}

string s(&quot;aha&quot;);
	chk(s); // Mehrdeutiger Aufruf einer überladenen Funktion
	chk(&quot;soso&quot;);
</code></pre>
<p>Ich bekomme eine Fehlermeldung:</p>
<blockquote>
<p>Mehrdeutiger Aufruf einer überladenen Funktion.</p>
</blockquote>
<p>Wie mache ich das am besten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746191</guid><dc:creator><![CDATA[Zonk++]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:31:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:36:11 GMT]]></title><description><![CDATA[<p>Hi!<br />
Machst du aus</p>
<pre><code class="language-cpp">void chk(string &amp;s)
</code></pre>
<p>nen</p>
<pre><code class="language-cpp">void chk(char* s)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1746195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746195</guid><dc:creator><![CDATA[solv0r]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:37:32 GMT]]></title><description><![CDATA[<p>P.S.</p>
<p>Ob das aber am besten ist, frag lieber die Experten. <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/1746196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746196</guid><dc:creator><![CDATA[solv0r]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:47:48 GMT]]></title><description><![CDATA[<p>Wieso brauchst du zwei gleichnamige Funktionen, von denen eine eine Referenz nimmt und die andere nicht?</p>
<p>Wenn es dir darum geht, Stringliterale zu übergeben, mach es wie solv0r - allerdings mit <code>const char*</code> statt <code>char*</code> , was sicherer ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746201</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:47:48 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:54:46 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Wieso brauchst du zwei gleichnamige Funktionen, von denen eine eine Referenz nimmt und die andere nicht?</p>
</blockquote>
<p>Ich habe zum einen Stringliterale in Strings gespeichert. ( string str(&quot;abc&quot;) );<br />
Und andererseits möchte ich print(&quot;abc&quot;) ausgeben können.<br />
Wenn ich Referenzen übergeben kann, müssen die Inhalte nicht unnötiger weise umkopiert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746204</guid><dc:creator><![CDATA[Zonk++]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:54:46 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:57:22 GMT]]></title><description><![CDATA[<p>Dazu brauchst du trotzdem keine Funktion die das Argument kopiert. Übergabe per (const) Referenz reicht aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746206</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:57:22 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 10:58:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void chk(const std::string&amp; str);
std::string s(&quot;Wunderbar&quot;);
chk(s);
chk(&quot;Noch mehr wunderbar&quot;);
</code></pre>
<p>funktioniert doch beides!<br />
Beim zweiten Aufruf wird halt einfach ein temporäres std::string-Objekt erzeugt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746207</guid><dc:creator><![CDATA[trödel]]></dc:creator><pubDate>Mon, 20 Jul 2009 10:58:27 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdeutiger Aufruf einer überladenen Funktion on Mon, 20 Jul 2009 11:07:12 GMT]]></title><description><![CDATA[<p>const string&amp; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Das ist es!<br />
Ihr seid super, vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1746215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1746215</guid><dc:creator><![CDATA[Zonk++]]></dc:creator><pubDate>Mon, 20 Jul 2009 11:07:12 GMT</pubDate></item></channel></rss>