<?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[Pointer auf String Funktion wird nicht konvertiert]]></title><description><![CDATA[<p>Hallo und guten morgen liebe Gemeinde.</p>
<p>Ich wollte auf eine String Funktion einen Pointer zeigen lassen, damit ich an die Speicheradresse komme.</p>
<p>Hier folgender Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

string String_Addition(string Str_1, string Str_2) //Funktion String_Addition anlegen
{
	return (Str_1 + Str_2); //Str_1 + Str_2 zurückgeben
}

int main() //Aufruf der main()
{
	string Str_1, Str_2, Str_3; //Variablen Str_1, Str_2 und Str_3 anlegen
	string *pString_Addition = &amp;String_Addition; //Pointer auf die Funktion String_Addition initialisieren
	string *pStr_3 = &amp;Str_3; //Pointer auf die Variable Str_3 initialisieren

	cout &lt;&lt; &quot;Geben Sie das erste Wort ein:\n&quot;;
	cin  &gt;&gt; Str_1;//erste Haelfte des Wortes eingeben
	cout &lt;&lt; &quot;Geben Sie das zweite Wort ein:\n&quot;;
	cin  &gt;&gt; Str_2;//Zweite Haelfte des Wortes eingeben

	Str_3 = String_Addition(Str_1, Str_2);//Str_1 und Str_2 zu einem Wort zusammenfuegen

	cout &lt;&lt; &quot;Zusammengefuegtes Wort heisst: \n&quot;;
	cout &lt;&lt; Str_3 &lt;&lt; &quot;\n&quot;; //zusammengefuegtes Wort ausgeben
	cout &lt;&lt; &quot;Speicheradresse der Funktion String_Addition:\n&quot;;
	cout &lt;&lt; pString_Addition &lt;&lt; &quot;\n&quot;; //Speicheradresse der Funktion String_Addition ausgeben
	cout &lt;&lt; &quot;\n&quot;; //Leerzeile
	cout &lt;&lt; &quot;Speicheradresse des Summandens Str_3:\n&quot;;
	cout &lt;&lt; pStr_3 &lt;&lt; &quot;\n&quot;; //Speicheradresse des zusammengefuegtem Wortes ausgeben
	cout &lt;&lt; &quot;\n&quot;; //Leerzeile

	return 0;
}
</code></pre>
<p>Hier die Fehlermeldung die ich bekomme:</p>
<pre><code class="language-cpp">error C2440: 'Initialisierung': 'std::string (__cdecl *)(std::string,std::string)' kann nicht in 'std::string *' konvertiert werden
          Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
</code></pre>
<p>Die Fehlermeldung bezieht sich auf Zeile 13.</p>
<p>Warum ist die Konvertierung nicht möglich bzw. was habe ich falsch gemacht?</p>
<p>Danke für die Antworten im Voraus.</p>
<p>Gruß</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312334/pointer-auf-string-funktion-wird-nicht-konvertiert</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 20:45:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312334.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Jan 2013 09:45:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 09:49:48 GMT]]></title><description><![CDATA[<p>Hallo und guten morgen liebe Gemeinde.</p>
<p>Ich wollte auf eine String Funktion einen Pointer zeigen lassen, damit ich an die Speicheradresse komme.</p>
<p>Hier folgender Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

string String_Addition(string Str_1, string Str_2) //Funktion String_Addition anlegen
{
	return (Str_1 + Str_2); //Str_1 + Str_2 zurückgeben
}

int main() //Aufruf der main()
{
	string Str_1, Str_2, Str_3; //Variablen Str_1, Str_2 und Str_3 anlegen
	string *pString_Addition = &amp;String_Addition; //Pointer auf die Funktion String_Addition initialisieren
	string *pStr_3 = &amp;Str_3; //Pointer auf die Variable Str_3 initialisieren

	cout &lt;&lt; &quot;Geben Sie das erste Wort ein:\n&quot;;
	cin  &gt;&gt; Str_1;//erste Haelfte des Wortes eingeben
	cout &lt;&lt; &quot;Geben Sie das zweite Wort ein:\n&quot;;
	cin  &gt;&gt; Str_2;//Zweite Haelfte des Wortes eingeben

	Str_3 = String_Addition(Str_1, Str_2);//Str_1 und Str_2 zu einem Wort zusammenfuegen

	cout &lt;&lt; &quot;Zusammengefuegtes Wort heisst: \n&quot;;
	cout &lt;&lt; Str_3 &lt;&lt; &quot;\n&quot;; //zusammengefuegtes Wort ausgeben
	cout &lt;&lt; &quot;Speicheradresse der Funktion String_Addition:\n&quot;;
	cout &lt;&lt; pString_Addition &lt;&lt; &quot;\n&quot;; //Speicheradresse der Funktion String_Addition ausgeben
	cout &lt;&lt; &quot;\n&quot;; //Leerzeile
	cout &lt;&lt; &quot;Speicheradresse des Summandens Str_3:\n&quot;;
	cout &lt;&lt; pStr_3 &lt;&lt; &quot;\n&quot;; //Speicheradresse des zusammengefuegtem Wortes ausgeben
	cout &lt;&lt; &quot;\n&quot;; //Leerzeile

	return 0;
}
</code></pre>
<p>Hier die Fehlermeldung die ich bekomme:</p>
<pre><code class="language-cpp">error C2440: 'Initialisierung': 'std::string (__cdecl *)(std::string,std::string)' kann nicht in 'std::string *' konvertiert werden
          Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
</code></pre>
<p>Die Fehlermeldung bezieht sich auf Zeile 13.</p>
<p>Warum ist die Konvertierung nicht möglich bzw. was habe ich falsch gemacht?</p>
<p>Danke für die Antworten im Voraus.</p>
<p>Gruß</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285222</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Wed, 02 Jan 2013 09:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 09:53:23 GMT]]></title><description><![CDATA[<p>&quot;string *pString_Addition&quot; ist ein Pointer auf einen String. Nicht auf eine Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285225</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 02 Jan 2013 09:53:23 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 09:55:30 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Ich wollte auf eine String Funktion einen Pointer zeigen lassen, damit ich an die Speicheradresse komme.</p>
</blockquote>
<p>Wie kommt man als Anfänger - als der man ja eigentlich Programmieren lernen möchte - auf so eine beknackte, sinnlose Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285226</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 02 Jan 2013 09:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 10:04:23 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>&quot;string *pString_Addition&quot; ist ein Pointer auf einen String. Nicht auf eine Funktion.</p>
</blockquote>
<p>Wie muss ich dann den Code ändern, damit das mit dem Zeiger auf die Funktion klappt? Funktioniert das überhaupt?</p>
<p>Belli schrieb:</p>
<blockquote>
<p>Wie kommt man als Anfänger - als der man ja eigentlich Programmieren lernen möchte - auf so eine beknackte, sinnlose Idee?</p>
</blockquote>
<p>Weil es eine Übungsaufgabe von der Schule ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285227</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Wed, 02 Jan 2013 10:04:23 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 10:01:48 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<p>Wie muss ich dann den Code ändern, damit das mit dem Zeiger auf die Funktion klappt? Funktioniert das überhaupt?</p>
</blockquote>
<p>Man schreibt den Typ ab der in der Fehlermeldung steht? <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>std::string (__cdecl *)(std::string,std::string)</p>
</blockquote>
<p>Wobei man das __cdecl nicht braucht, das ist auch kein Standard. -&gt;</p>
<blockquote>
<p>std::string (*)(std::string,std::string)</p>
</blockquote>
<p>-&gt;</p>
<pre><code>std::string (*pString_Addition)(std::string,std::string) = String_Addition
</code></pre>
<p><a href="https://ideone.com/4fv1Om" rel="nofollow">https://ideone.com/4fv1Om</a><br />
Oder, mit C++11, man nutzt einfach auto:<br />
<a href="https://ideone.com/RS6wUW" rel="nofollow">https://ideone.com/RS6wUW</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285229</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 02 Jan 2013 10:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 10:39:20 GMT]]></title><description><![CDATA[<p>Was ist eine String Funktion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285245</guid><dc:creator><![CDATA[ScottZhang]]></dc:creator><pubDate>Wed, 02 Jan 2013 10:39:20 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 10:53:21 GMT]]></title><description><![CDATA[<p>silent_max schrieb:</p>
<blockquote>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Speicheradresse des Summandens Str_3:\n&quot;;
	cout &lt;&lt; pStr_3 &lt;&lt; &quot;\n&quot;; //Speicheradresse des zusammengefuegtem Wortes ausgeben
</code></pre>
</blockquote>
<p>'Summand' halte ich in diesem Zusammenhang nicht für das richtige Wort.<br />
Und ausgegeben wird <strong>nicht</strong> die Adresse des zusammengefügten Wortes, sondern die Adresse des Stringobjektes, das das zusammengefügte Wort enthält! Das ist ein Riesenunterschied!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285249</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Wed, 02 Jan 2013 10:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer auf String Funktion wird nicht konvertiert on Wed, 02 Jan 2013 10:56:59 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>'Summand' halte ich in diesem Zusammenhang nicht für das richtige Wort.<br />
Und ausgegeben wird <strong>nicht</strong> die Adresse des zusammengefügten Wortes, sondern die Adresse des Stringobjektes, das das zusammengefügte Wort enthält! Das ist ein Riesenunterschied!</p>
</blockquote>
<p>Ok, hast recht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2285251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2285251</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Wed, 02 Jan 2013 10:56:59 GMT</pubDate></item></channel></rss>