<?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[Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen]]></title><description><![CDATA[<p>Hallo,</p>
<p>hab das Problem, dass der Rückgabewert einer Funktion nicht<br />
in den Eingabeparameter einer anderen Funktion geschrieben wird<br />
(obwohl sie vom gleichen Typ sind const char*).</p>
<pre><code>void fkt_out()
{
    const char* test = &quot;xyz&quot;;

    return test;
}
</code></pre>
<pre><code>void fkt_in(const char* input)
{
    std::cout&lt;&lt;&quot;input: &quot;&lt;&lt; input &lt;&lt;std::endl;
}
</code></pre>
<p>input ist leer.</p>
<p>Wie kann man das beheben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247682/rückgabewert-einer-fkt-wird-nicht-in-den-eingabeparam-einer-anderen-fkt-übernommen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:59:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247682.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Aug 2009 08:10:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:10:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>hab das Problem, dass der Rückgabewert einer Funktion nicht<br />
in den Eingabeparameter einer anderen Funktion geschrieben wird<br />
(obwohl sie vom gleichen Typ sind const char*).</p>
<pre><code>void fkt_out()
{
    const char* test = &quot;xyz&quot;;

    return test;
}
</code></pre>
<pre><code>void fkt_in(const char* input)
{
    std::cout&lt;&lt;&quot;input: &quot;&lt;&lt; input &lt;&lt;std::endl;
}
</code></pre>
<p>input ist leer.</p>
<p>Wie kann man das beheben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760533</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:21:54 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>also einerseits sehe ich nicht, wo fkt_out() und fkt_in() irgendetwas miteinander zu tun hätten. (rufen sich nicht gegenseitig uaf und teilem auch keine Variable und das hier:</p>
<p>cpp_anfaenger schrieb:</p>
<blockquote>
<p>...</p>
<pre><code>void fkt_out()
{
...
    return test;
}
</code></pre>
</blockquote>
<p>Sollte Dir der Compiler auch (zu Recht) ankreiden.</p>
<p>Noch 2 Tipps:<br />
- Nimm cpp-Tags (und nicht &quot;code&quot;)<br />
- Nimm gleich std::string - ist gerade für Anfänger sehr viel einfacher/sicherer/...</p>
<p>Ich weiß nicht genau, was DU wirklich damit willst, aber vielleicht ja sowas:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

std::string fkt_in() {
   std::string text = &quot;xyz&quot;;
   return text;
   // Oder direkt: return &quot;xyz&quot;; Objekt wird automatisch erzeugt
}

void fkt_out(std::string const&amp; input) { // &quot;input&quot; finde ich unglücklich benannt, denn es soll ja ausgegeben werden...
    std::cout&lt;&lt;&quot;input: &quot;&lt;&lt; input &lt;&lt;std::endl; // '\n' statt std::endl tut's oft genausogut - es muss nicht unbedingt jedesmal geflusht werden
} 

int main() {
   fkt_out(fkt_in());
   return 0;
}
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760539</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:21:54 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:22:40 GMT]]></title><description><![CDATA[<p>arg sry</p>
<p>hatte eine zeile vergessen!</p>
<pre><code>void fkt_in(const char* input)
{
    input = fkt_out();
    std::cout&lt;&lt;&quot;input: &quot;&lt;&lt; input &lt;&lt;std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1760542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760542</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:27:05 GMT]]></title><description><![CDATA[<p>cpp_anfaenger schrieb:</p>
<blockquote>
<p>arg sry</p>
<p>hatte eine zeile vergessen!</p>
<pre><code>void fkt_in(const char* input)
{
    input = fkt_out();
    std::cout&lt;&lt;&quot;input: &quot;&lt;&lt; input &lt;&lt;std::endl;
}
</code></pre>
</blockquote>
<p>Damit kompiliert Dein Beispiel immernoch nicht. Also kann input zur Laufzeit auch nicht leer sein.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> KOMPILIERBARES Codebeispiel bitte, rumraten macht keinen Spass!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760547</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:27:05 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:33:43 GMT]]></title><description><![CDATA[<p>Hallo cpp_anfaenger,<br />
zu deinem Code:</p>
<pre><code class="language-cpp">void fkt_out()
{
    const char* test = &quot;xyz&quot;; // Zeiger auf Speicherbereich, welcher mit
                              // &quot;xyz&quot; belegt wird

    return test;              // return Zeiger auf Speicherbereich
}
</code></pre>
<p>Und genau da liegt meiner Meinung nach das Problem, der Zeiger den du da mit &quot;XYZ&quot; initialisierst hat nur innerhalb des Skopus der Funktion &quot;fkt_out()&quot; Wirkung, beim Verlassen also &quot;return test&quot; verliert der Zeiger test seinen Wert bzw. seine Wirkung. Das Problem lässt sich lösen indem du den Zeiger statisch machst, also &quot;static const char *test = &quot;xyz&quot;, somit bhält auch nach verlassen der Funktion test seinen Wert.</p>
<p>Lg Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760552</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:33:43 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:38:51 GMT]]></title><description><![CDATA[<p>Ok ich nehm alles zurück anscheint liegt nicht am Skopus sondern daran das du deine Funktionen nicht richtig definiert hast, gar net gesehn <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>
<pre><code class="language-cpp">const char *fkt_out( ) {

    const char* test = &quot;xyz&quot;;

    return test;
} 

void fkt_in( const char* input ) {

    printf( &quot;%s&quot;, input );
} 

int main( ) {

    fkt_in( fkt_out( ) );

    getchar( );
    return 0;
}
</code></pre>
<p>So funktionier das.</p>
<p>Lg Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760554</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:38:51 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:39:42 GMT]]></title><description><![CDATA[<p>Der Rückgabewert void bei deiner Fkt. fkt_out ist das Problem</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760556</guid><dc:creator><![CDATA[AndreasBo]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 08:52:15 GMT]]></title><description><![CDATA[<p>sry, bin etwas verballert heute o_O<br />
beim Umschreiben in ein kurzes veranschauliches Beispiel<br />
hab ich ein paar Dinge vergessen.</p>
<pre><code class="language-cpp">const char* fkt_out()
{
    const char* test = &quot;xyz&quot;;

    return test;
}
</code></pre>
<pre><code class="language-cpp">void fkt_in(const char* input)
{
    input = fkt_out();
    std::cout&lt;&lt;&quot;input: &quot;&lt;&lt; input &lt;&lt;std::endl;
}
</code></pre>
<p>Danke für Eure Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760565</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 08:52:15 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 09:03:59 GMT]]></title><description><![CDATA[<p>Entschuldigt, immer noch falsch. Hätte im Bett bleiben sollen!!</p>
<pre><code class="language-cpp">const char* fkt_1()
{
   const char* test = &quot;xyz&quot;;
   return test;
}
</code></pre>
<pre><code class="language-cpp">static void fkt_2()
{
   x = fkt_1();
   fkt_3(x);
}
</code></pre>
<pre><code class="language-cpp">void fkt_3(const char* y)
{
   std::cout&lt;&lt;&quot;y: &quot;&lt;&lt; y &lt;&lt;std::endl; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1760570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760570</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 09:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 09:04:56 GMT]]></title><description><![CDATA[<p>x ist vom typ const char*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760572</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 09:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 09:19:13 GMT]]></title><description><![CDATA[<p>Auf was willst du hinaus? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760579</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Fri, 14 Aug 2009 09:19:13 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 09:23:49 GMT]]></title><description><![CDATA[<p>y ist leer.<br />
nochmals sry!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760584</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 09:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabewert einer Fkt wird nicht in den Eingabeparam einer anderen Fkt übernommen on Fri, 14 Aug 2009 09:30:22 GMT]]></title><description><![CDATA[<p>Problem gelöst, Thread bitte löschen.<br />
test musste static sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760588</guid><dc:creator><![CDATA[cpp_anfaenger]]></dc:creator><pubDate>Fri, 14 Aug 2009 09:30:22 GMT</pubDate></item></channel></rss>