<?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[Zeiger an Funktion]]></title><description><![CDATA[<p>Hallo ich will der var Variable mit einem Zeiger einen neuen Wert zuweisen:</p>
<p>Aber ich bekomme immer diese Fehler <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="😞"
    /></p>
<p>Erzeugen<br />
[C++ Fehler] Unit1.cpp(36): E2034 Konvertierung von 'int' nach 'int *' nicht möglich<br />
[C++ Fehler] Unit1.cpp(36): E2342 Keine Übereinstimmung des Typs beim Parameter 'z1' ('int *' erwartet, 'int' erhalten)<br />
[C++ Warnung] Unit1.cpp(50): W8070 Funktion sollte einen Wert zurückgeben</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{
int zahl (int *z1 );

zahl(4);

system(&quot;PAUSE&quot;);
}

        int zahl ( int *z1)
        {
        int var = 2;
        cout&lt;&lt;&quot;alter wert: &quot;&lt;&lt;var&lt;&lt;endl;

        var = *z1;

        cout&lt;&lt;&quot;neuer wert: &quot;&lt;&lt;var;
        }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/235620/zeiger-an-funktion</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 04:07:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235620.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Mar 2009 11:51:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 11:51:54 GMT]]></title><description><![CDATA[<p>Hallo ich will der var Variable mit einem Zeiger einen neuen Wert zuweisen:</p>
<p>Aber ich bekomme immer diese Fehler <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="😞"
    /></p>
<p>Erzeugen<br />
[C++ Fehler] Unit1.cpp(36): E2034 Konvertierung von 'int' nach 'int *' nicht möglich<br />
[C++ Fehler] Unit1.cpp(36): E2342 Keine Übereinstimmung des Typs beim Parameter 'z1' ('int *' erwartet, 'int' erhalten)<br />
[C++ Warnung] Unit1.cpp(50): W8070 Funktion sollte einen Wert zurückgeben</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{
int zahl (int *z1 );

zahl(4);

system(&quot;PAUSE&quot;);
}

        int zahl ( int *z1)
        {
        int var = 2;
        cout&lt;&lt;&quot;alter wert: &quot;&lt;&lt;var&lt;&lt;endl;

        var = *z1;

        cout&lt;&lt;&quot;neuer wert: &quot;&lt;&lt;var;
        }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1674037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674037</guid><dc:creator><![CDATA[func]]></dc:creator><pubDate>Wed, 04 Mar 2009 11:51:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 12:02:45 GMT]]></title><description><![CDATA[<p>Auweia...du solltest dir mal ein gutes Buch zur Hand nehmen.</p>
<p><a href="http://1.Es" rel="nofollow">1.Es</a> ist eher ungewöhnlich eine Funktion lokal in der Main zu deklarieren, ich bin mir nichtmal sicher ob das überhaupt funktioniert.<br />
2.Du kannst einer Funktion die einen Zeiger nimmt, keinen konstanten Wert übergeben wie du es gemacht hast, und besonders noch weniger einen Integer übergeben, wenn ein Zeiger auf int erwartet wird.<br />
3.Die Funktion solltest du auch nochmal überarbeiten, wie gesagt nimm dir ein Tutorial zur Hand.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674048</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 04 Mar 2009 12:02:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 12:04:38 GMT]]></title><description><![CDATA[<p>4. Codeblöcke einrücken, um dem Leser das Verständnis zu erleichtern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674053</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Wed, 04 Mar 2009 12:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 12:40:47 GMT]]></title><description><![CDATA[<p>func schrieb:</p>
<blockquote>
<p>Hallo ich will der var Variable mit einem Zeiger einen neuen Wert zuweisen:</p>
</blockquote>
<p>Mit Referenzen und Sprechenden Namen (zumindestens für den Leser) geht es einfacher... Zudem ist die Frage warum du der Funktion einen Rückgabewert gibst, aber nichts zurücklieferst.</p>
<p>Ich gehe hier mal 2 Varianten durch</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

// Ohne Rückgabewert, mit Referenzübergabe
void zahlVerdoppelnReferenz(int &amp; zahl);
// Mit Rückgabewert, und Wertübergabe
int zahlVerdoppelnWert(int zahl);

int main()
{
    int zahl = 4;
    zahlVerdoppelnReferenz(zahl);    // Verdopplung über Referenz
    zahl = zahlVerdoppelnWert(zahl); // Verdopplung über Rückgabewert

    system(&quot;PAUSE&quot;);
}

void zahlVerdoppelnReferenz(int &amp; zahl)
{
    zahl *= 2; // Hier wird die Übergabe direkt geändert
}

int zahlVerdoppelnWert(int zahl)
{
    return zahl * 2; // Hier wird die Übergabe nicht geändert, und der Berechnete
    // Wert zurückgegeben
}
</code></pre>
<p>Die zweite Variante ist häufig die Üblichere.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674096</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 04 Mar 2009 12:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 13:16:25 GMT]]></title><description><![CDATA[<p>Eine Frag hab ich noch man kann das ja einmal so machen:</p>
<p>void zahlVerdoppelnReferenz(int &amp;zahl);</p>
<p>oder so</p>
<p>void zahlVerdoppelnReferenz(int zahl);</p>
<p>also ohne diese Zeichen &amp; wo ist da der unterschied ob ich das jetzt mit oder ohne mache?</p>
<p>Weil beides funktioniert.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std; 

void zahlVerdoppelnReferenz(int  &amp;zahl);

int main()
{ 
int zahl;

        cout&lt;&lt;&quot;Eingabe: &quot;;
        cin&gt;&gt;zahl;

        zahlVerdoppelnReferenz(zahl);

system(&quot;PAUSE&quot;);
}

        void zahlVerdoppelnReferenz(int &amp;zahl)
        {
        int erg = 1;

                cout&lt;&lt;&quot;Erg alt: &quot;&lt;&lt;erg&lt;&lt;endl;

                    erg = zahl;

                cout&lt;&lt;&quot;Erg neu: &quot;&lt;&lt;erg&lt;&lt;endl;
        }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1674115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674115</guid><dc:creator><![CDATA[func]]></dc:creator><pubDate>Wed, 04 Mar 2009 13:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 13:19:48 GMT]]></title><description><![CDATA[<p>Das eine ist eine Übergabe by-reference (du veränderst direkt die ursprüngliche Variable), das andere ist Übergabe by-value (du legst eine Kopie der ursprünglichen Variable an, die lokal in der Funktion existiert; Änderungen wirken sich eben nicht auf die übergebene Variable aus).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674118</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 04 Mar 2009 13:19:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 13:20:11 GMT]]></title><description><![CDATA[<p>Edit:Hrrr zu spät...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674119</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 04 Mar 2009 13:20:11 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 13:34:54 GMT]]></title><description><![CDATA[<p>Was ist denn besser by-reference oder by-value oder ist das egal was man nimmt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674126</guid><dc:creator><![CDATA[func]]></dc:creator><pubDate>Wed, 04 Mar 2009 13:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 13:36:41 GMT]]></title><description><![CDATA[<p>func schrieb:</p>
<blockquote>
<p>Was ist denn besser by-reference oder by-value oder ist das egal was man nimmt ?</p>
</blockquote>
<p>Wie besser?? Das hängt davon ab, was du machen willst! Das musst du bei jedem Fall selbst entscheiden. Zieh dir doch besser mal ein gutes Buch/Tutorial 'rein und lerne Programmieren von Grund auf. Mit solchen ungezielten Fragen kommst du nicht weit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674129</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 04 Mar 2009 13:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 13:51:33 GMT]]></title><description><![CDATA[<p>Hab was gefunden :&gt;</p>
<p>Aber im moment bin ich an einem anderen Tutorial dran etweder hab ichs mal wieder vergessen oder überlesen aber naja jetzt weiss ich ja wofür die reference gut ist.</p>
<p>Danke für alle antworten von euch.</p>
<p><a href="http://tutorial.schornboeck.net/referenzen.htm" rel="nofollow">http://tutorial.schornboeck.net/referenzen.htm</a></p>
<p>Der Sinn von konstanten Referenzen bei Funktionsaufrufen (im Vergleich zu &quot;call by value&quot;)? Ganz einfach: bei einer Referenz wir keine Kopie der originalen Variablen erstellt. Das hat vorallem dann Sinn, wenn wir mit Variablen hantieren, die viele Daten beinhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674137</guid><dc:creator><![CDATA[func]]></dc:creator><pubDate>Wed, 04 Mar 2009 13:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Wed, 04 Mar 2009 14:21:45 GMT]]></title><description><![CDATA[<p>func schrieb:</p>
<blockquote>
<p>Hab was gefunden :&gt;</p>
</blockquote>
<p>Ich rate dir wirklich zu einem Buch. Ich kenne kein Tutorial was wirklich gut und auch umfangreich genug ist. Und bei den Büchern auch etwas aufpassen (Aktuell und richtig sind leider nur ein kleiner Teil, selbst bei &quot;neuen&quot; Büchern. Weitgehend aktuell sind z.B. &quot;C++ Primer&quot; und &quot;Thinking in C++&quot; [letzteres gibt es legal kostenlos im Internet; englisch]).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1674163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1674163</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 04 Mar 2009 14:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Fri, 06 Mar 2009 13:37:25 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p><a href="http://1.Es" rel="nofollow">1.Es</a> ist eher ungewöhnlich eine Funktion lokal in der Main zu deklarieren, ich bin mir nichtmal sicher ob das überhaupt funktioniert.</p>
</blockquote>
<p>Doch, Funktionsdeklarationen sind innerhalb von Funktionen erlaubt. Nur Definitionen nicht.</p>
<p>func schrieb:</p>
<blockquote>
<p>Der Sinn von konstanten Referenzen bei Funktionsaufrufen (im Vergleich zu &quot;call by value&quot;)? Ganz einfach: bei einer Referenz wir keine Kopie der originalen Variablen erstellt. Das hat vorallem dann Sinn, wenn wir mit Variablen hantieren, die viele Daten beinhalten.</p>
</blockquote>
<p>Referenzen sind <em>immer</em> konstant. Das <code>const</code> bei einer Const-Referenz bezieht sich auf das verwiesene Objekt.</p>
<p>Eingebaute Typen würde ich im Allgemeinen als Kopie übergeben, da eine Referenz im Vergleich zum Objekt relativ viel Speicher beansprucht und die Dereferenzierung auch Zeit braucht. Je grösser das Objekt (v.a. Klassentypen), desto eher lohnt sich eine Const-Referenz. Wenn das Objekt verändert werden soll, sind normale Referenzen eine Möglichkeit.</p>
<p>Ansonsten gibt es auch noch Zeiger, die ein wenig flexibler sind und Null als Wert annehmen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1675268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1675268</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 06 Mar 2009 13:37:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger an Funktion on Fri, 06 Mar 2009 13:39:08 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/12954">@Nexus</a> Ah ok alles klar, ich wusste doch eins von beiden geht nicht. Sagte ja nicht umsonst &quot;eher&quot; ungewöhnlich <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="🙂"
    /> Aber ok, es funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1675271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1675271</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Fri, 06 Mar 2009 13:39:08 GMT</pubDate></item></channel></rss>