<?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[implicit conversion: const char[n] ==&amp;gt; std::string]]></title><description><![CDATA[<p>Hi,<br />
ich stehe gerade auf dem Schlauch. Ich verstehe nicht, wieso folgendes nicht funktioniert:</p>
<pre><code>#include &lt;string&gt;
using namespace std;

class foo
{
	public:
		foo( const string&amp; str ) {}
};

int main()
{
	foo f = &quot;Hallo&quot;;
}
</code></pre>
<p><code>const char[n]</code> kann doch implizit nach <code>std::string</code> konvertiert werden. Wo liegt hier das Problem? Was übersehe ich?</p>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/317961/implicit-conversion-const-char-n-gt-std-string</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 21:53:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317961.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Jun 2013 09:16:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to implicit conversion: const char[n] ==&amp;gt; std::string on Wed, 26 Jun 2013 09:16:24 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich stehe gerade auf dem Schlauch. Ich verstehe nicht, wieso folgendes nicht funktioniert:</p>
<pre><code>#include &lt;string&gt;
using namespace std;

class foo
{
	public:
		foo( const string&amp; str ) {}
};

int main()
{
	foo f = &quot;Hallo&quot;;
}
</code></pre>
<p><code>const char[n]</code> kann doch implizit nach <code>std::string</code> konvertiert werden. Wo liegt hier das Problem? Was übersehe ich?</p>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334443</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 26 Jun 2013 09:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to implicit conversion: const char[n] ==&amp;gt; std::string on Wed, 26 Jun 2013 09:43:53 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p><code>const char[n]</code> kann doch implizit nach <code>std::string</code> konvertiert werden. Wo liegt hier das Problem? Was übersehe ich?</p>
</blockquote>
<p>Jupp, das ist eine <em>user-defined conversion</em>. Die Standarbibliothek ist in diesem Zusammenhang auch nur ein &quot;user&quot;.<br />
Eine weitere user-defined conversion ist Dein <em>converting constructor</em> <code>foo(const std::string&amp;);</code></p>
<p>Allerdings lesen wir:</p>
<p>§iso C++ schrieb:</p>
<blockquote>
<p>12.3 Conversions [class.conv]<br />
/4 At most one user-defined conversion (constructor or conversion function) is implicitly applied to a single value.</p>
</blockquote>
<p>D.h. nachdem der Compiler Deinen Konstruktor sieht, zieht er die implizite Konvertierung <code>const char[] -&gt; std::string</code> nicht mehr in Betracht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334450</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Wed, 26 Jun 2013 09:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to implicit conversion: const char[n] ==&amp;gt; std::string on Wed, 26 Jun 2013 09:48:32 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Allerdings lesen wir:</p>
<p>§iso C++ schrieb:</p>
<blockquote>
<p>12.3 Conversions [class.conv]<br />
/4 At most one user-defined conversion (constructor or conversion function) is implicitly applied to a single value.</p>
</blockquote>
<p>D.h. nachdem der Compiler Deinen Konstruktor sieht, zieht er die implizite Konvertierung <code>const char[] -&gt; std::string</code> nicht mehr in Betracht.</p>
</blockquote>
<p>Aha ok. Das heißt, <code>const char[] ==&gt; foo</code> funktioniert, aber <code>const char[] ==&gt; x ==&gt; y ==&gt; z ==&gt; foo</code> funktioniert nicht. Gut zu wissen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2334451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2334451</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 26 Jun 2013 09:48:32 GMT</pubDate></item></channel></rss>