<?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[Referenzen und Zeiger als Parameter]]></title><description><![CDATA[<p>Ich sitz momentan an meiner Hausaufgabe für die Uni in der ich mehrere Funktionen schreiben muss die als Parameter Referenzen und Pointer kriegen sollen.</p>
<p>In der aufgabenstellung wird uns gegeben das wir zwei Funktionen erstellen sollen die den gleichen Namen haben nur das die eine Referenzen als Parameter kriegt und die andere Pointer. Die Funktion sieht bei mir nun so aus s.u.. (Die Main post ich auf wunsch gerne nach.)</p>
<p>Meine Frage: Kann das überhaupt funktionieren? Ich hab gelernt das Funktionen nicht den selben Namen haben können es sei den ihr Datentyp unterscheidet sich. (Aber über die Outputfunktion die nach dem gleichen Prinzip aufgebaut ist meckert mir der Compiler nicht).Zudem ich krieg noch eine Fehlermeldung wenn ich es kompilieren möchte. Allerdings weiß ich nicht so genau was mir die Fehlermeldung sagen möchte</p>
<blockquote>
<p>1&gt;------ Erstellen gestartet: Projekt: praktikum11, Konfiguration: Debug Win32 ------<br />
1&gt; main.cpp<br />
1&gt;main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;double __cdecl inputValue(double,double)&quot; (?inputValue@@YANNN@Z)&quot; in Funktion &quot;_main&quot;.<br />
1&gt;D:\XY Weltherrschaft\Studium\InfoT\Praktika\131012_1Prog_01\praktikum11\Debug\praktikum11.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.<br />
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========</p>
</blockquote>
<pre><code>double inputValue (double, double);
double outputValue (double, double);
double swap (double, double);
</code></pre>
<pre><code>#include &lt;iomanip&gt;
#include &lt;iostream&gt;

using namespace std;

double inputValue (double&amp; a,double&amp; b)

{
	cout &lt;&lt; &quot;Geben sie den Wert für a ein:\n&quot;;
	cin &gt;&gt; a;
	cout &lt;&lt; &quot;\n&quot;;

	cout &lt;&lt; &quot;Geben sie den Wert für b ein:\n&quot;;
	cin &gt;&gt; b;
	cout &lt;&lt; &quot;\n&quot;;

	return(0);
}

double inputValue (double* a,double* b)

{
	cout &lt;&lt; &quot;Geben sie den Wert für a ein:\n&quot;;
	cin &gt;&gt; *a;
	cout &lt;&lt; &quot;\n&quot;;

	cout &lt;&lt; &quot;Geben sie den Wert für b ein:\n&quot;;
	cin &gt;&gt; *b;
	cout &lt;&lt; &quot;\n&quot;;

	return(0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/312930/referenzen-und-zeiger-als-parameter</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 11:15:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312930.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Jan 2013 13:32:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Thu, 17 Jan 2013 13:32:15 GMT]]></title><description><![CDATA[<p>Ich sitz momentan an meiner Hausaufgabe für die Uni in der ich mehrere Funktionen schreiben muss die als Parameter Referenzen und Pointer kriegen sollen.</p>
<p>In der aufgabenstellung wird uns gegeben das wir zwei Funktionen erstellen sollen die den gleichen Namen haben nur das die eine Referenzen als Parameter kriegt und die andere Pointer. Die Funktion sieht bei mir nun so aus s.u.. (Die Main post ich auf wunsch gerne nach.)</p>
<p>Meine Frage: Kann das überhaupt funktionieren? Ich hab gelernt das Funktionen nicht den selben Namen haben können es sei den ihr Datentyp unterscheidet sich. (Aber über die Outputfunktion die nach dem gleichen Prinzip aufgebaut ist meckert mir der Compiler nicht).Zudem ich krieg noch eine Fehlermeldung wenn ich es kompilieren möchte. Allerdings weiß ich nicht so genau was mir die Fehlermeldung sagen möchte</p>
<blockquote>
<p>1&gt;------ Erstellen gestartet: Projekt: praktikum11, Konfiguration: Debug Win32 ------<br />
1&gt; main.cpp<br />
1&gt;main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;double __cdecl inputValue(double,double)&quot; (?inputValue@@YANNN@Z)&quot; in Funktion &quot;_main&quot;.<br />
1&gt;D:\XY Weltherrschaft\Studium\InfoT\Praktika\131012_1Prog_01\praktikum11\Debug\praktikum11.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.<br />
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========</p>
</blockquote>
<pre><code>double inputValue (double, double);
double outputValue (double, double);
double swap (double, double);
</code></pre>
<pre><code>#include &lt;iomanip&gt;
#include &lt;iostream&gt;

using namespace std;

double inputValue (double&amp; a,double&amp; b)

{
	cout &lt;&lt; &quot;Geben sie den Wert für a ein:\n&quot;;
	cin &gt;&gt; a;
	cout &lt;&lt; &quot;\n&quot;;

	cout &lt;&lt; &quot;Geben sie den Wert für b ein:\n&quot;;
	cin &gt;&gt; b;
	cout &lt;&lt; &quot;\n&quot;;

	return(0);
}

double inputValue (double* a,double* b)

{
	cout &lt;&lt; &quot;Geben sie den Wert für a ein:\n&quot;;
	cin &gt;&gt; *a;
	cout &lt;&lt; &quot;\n&quot;;

	cout &lt;&lt; &quot;Geben sie den Wert für b ein:\n&quot;;
	cin &gt;&gt; *b;
	cout &lt;&lt; &quot;\n&quot;;

	return(0);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2290665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2290665</guid><dc:creator><![CDATA[UnterKind]]></dc:creator><pubDate>Thu, 17 Jan 2013 13:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Thu, 17 Jan 2013 13:39:00 GMT]]></title><description><![CDATA[<p>Diese Fehlermeldung stammt auch nicht vom Compiler, sondern vom Linker.</p>
<p>Du sagst deinem Compiler mit den Zeilen</p>
<pre><code>double inputValue (double, double);
double outputValue (double, double);
double swap (double, double);
</code></pre>
<p>&quot;Junge, die Funktion gibt es, aber leider nicht hier. Aber ichv ersprech dir, die sind irgendwo definiert.&quot; Ja, aber die sind eben nicht definiert und das sagt dir in solchen Fehlermeldungen der Linker.</p>
<p>Warum sind die nicht definiert, du hast sie doch da geschrieben?<br />
Nein, hast du nicht.</p>
<pre><code>double inputValue (double&amp; a, double&amp; b) {...}
double inputValue (double* a, double* b) {...}
double inputValue (double a, double b) {...}
</code></pre>
<p>Das sind alle 3 komplett verschiedene Funktionen, auch wenn sie den gleichen Namen haben. (Namen sind Schall und Rauch sag ich immer) Der Compiler kann alle 3 wohl unterscheiden.</p>
<p>Spiel mal ein bisschen mit dem sizeof Operator und Datentypen inklusive ihrer Zeiger und Referenzen rum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2290673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2290673</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Thu, 17 Jan 2013 13:39:00 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Thu, 17 Jan 2013 13:39:09 GMT]]></title><description><![CDATA[<p>UnterKind schrieb:</p>
<blockquote>
<p>Meine Frage: Kann das überhaupt funktionieren? Ich hab gelernt das Funktionen nicht den selben Namen haben können es sei den ihr Datentyp unterscheidet sich.</p>
</blockquote>
<p>Sind denn deiner Meinung nach Referenzen und Zeiger der gleiche Datentyp?</p>
<blockquote>
<p>Allerdings weiß ich nicht so genau was mir die Fehlermeldung sagen möchte</p>
</blockquote>
<p>Sie will dir sagen, dass du eine Funktion <code>double inputValue (double, double);</code> deklariert hast (das hast du in deinem ersten Codefragment getan), die aber nirgendwo definiert wird (denn du definierst die beiden Funktionen <code>double inputValue (double&amp;, double&amp;);</code> und <code>double inputValue (double*, double*);</code> , die für den Linker vollkommen unterschiedlich aussehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2290674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2290674</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Jan 2013 13:39:09 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Thu, 17 Jan 2013 14:17:34 GMT]]></title><description><![CDATA[<p>Mir war nicht klar das Zeiger/Referenzen als eigener Datentyp gelten. Für mich galten als eigene Datentypen einfach nur int,string,double,structs etc.</p>
<p>Ich hab dann jetzt mal direkt mein neues wissen angewandt. Meine Funktionsprototypen und die Funktionen selber mit den passenden Sachen erweitert und tada es lässt sich kompilieren, Also danke für die Hilfe! <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="👍"
    />.</p>
<p>Wobei ich gestehen muss das ich jetzt schon wieder mein nächstes Problem hab und zwar das in meiner Funktion die referenzen die Originalwerte nicht umändern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2290698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2290698</guid><dc:creator><![CDATA[UnterKind]]></dc:creator><pubDate>Thu, 17 Jan 2013 14:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 07:28:04 GMT]]></title><description><![CDATA[<p>Doch müssten sie aber. Sowohl Zeiger als auch Referenzen verweisen ja auf das ursprüngliche Objekt/Variable.</p>
<p>Zur Not, zeig Code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2290891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2290891</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Fri, 18 Jan 2013 07:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 07:37:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/29099">@UnterKind</a><br />
Wozu dienen eigentlich die Rückgabewerte dieser Funktionen. Die sind hier vollkommen sinnlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2290892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2290892</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 18 Jan 2013 07:37:05 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 14:02:07 GMT]]></title><description><![CDATA[<p>Als ich die Funktionen geschrieben hab hab ich denen den double Wert gegeben mir war zu dem Zeitpunkt nicht klar ganz klar das die Funktionen keinen rückgabewert haben. Und da ich keine Lust hatte alle funktionen auf Void umzustellen hab ich lieber return(0); reingesetzt.</p>
<p>Das Programm funktioniert jetzt hab mich einfach nur sehr deppert angestellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291008</guid><dc:creator><![CDATA[UnterKind]]></dc:creator><pubDate>Fri, 18 Jan 2013 14:02:07 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 14:13:31 GMT]]></title><description><![CDATA[<p>return((0));<br />
sieht aber noch besser aus. Damit man deutlich sieht, daß da was zurückgegeben wird und man es nicht mit einem Funktionsaufruf verwechselt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291009</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 18 Jan 2013 14:13:31 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 15:20:57 GMT]]></title><description><![CDATA[<p>Na ja, da es double sein soll eher return((0.0)); <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/2291031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291031</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 18 Jan 2013 15:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 15:31:03 GMT]]></title><description><![CDATA[<p>Oder einfach komplett ohne Klammern: return 0.0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291034</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Fri, 18 Jan 2013 15:31:03 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 15:38:38 GMT]]></title><description><![CDATA[<p>Braunstein, anstatt double durch void zu ersetzen, hast du return (0) eingefügt, weil das Erstere dir umständlicher erschien. Ergibt dir das Sinn?<br />
Nochwas: du solltest mal die magische Tastenkombination Strg + H und die Wunder, die sie bewirkt, sehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291036</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Fri, 18 Jan 2013 15:38:38 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen und Zeiger als Parameter on Fri, 18 Jan 2013 15:42:22 GMT]]></title><description><![CDATA[<p>Lies bitte den Thread nochmal. Nicht ich habe return(0) eingeführt. Der Smily sollte auch ein wenig darauf hindeuten, dass das Ironie in Erweiterung zu volkards Beitrag ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2291042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2291042</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 18 Jan 2013 15:42:22 GMT</pubDate></item></channel></rss>