<?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[Linkerfehler bei Funktionsaufruf mit Referenz]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich erhalte folgenden Linkerfehler:</p>
<pre><code>1&gt;main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;void __cdecl einlesen(struct Vector&lt;struct Point&gt;,struct String)&quot; (?einlesen@@YAXU?$Vector@UPoint@@@@UString@@@Z)&quot; in Funktion &quot;_main&quot;.
1&gt;c:\Users\Tim\Documents\Visual Studio 2010\Projects\Kapitel10-A1-7\Debug\Kapitel10-A1-7.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
</code></pre>
<p>und hab absolut keine Ahnung warum <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>
<p>In main() erstelle ich einen Vector von Punkten (eine einfache Struktur mit x- und y-Werten) und rufe die Funktion &quot;einlesen&quot; auf:</p>
<pre><code>vector&lt;Point&gt; processed_points;
einlesen(processed_points, &quot;myData.txt&quot;);
</code></pre>
<p>Hier meine Funktion &quot;einlesen&quot;:</p>
<pre><code>void einlesen(vector &lt;Point&gt;&amp; v, String name)
{
	Point p;
	ifstream ifstr(name.c_str());
	while(ifstr &gt;&gt; p)
	{
		v.push_back(p);
	}

}
</code></pre>
<p>Hier benutze ich</p>
<pre><code>vector &lt;Point&gt;&amp; v
</code></pre>
<p>statt</p>
<pre><code>vector &lt;Point&gt; v
</code></pre>
<p>da ich die aus der Datei &quot;myData.txt&quot; gelesenen Punkte direkt in den der Funktion &quot;einlesen&quot; übergebenen Vector &quot;processed_points&quot; schreiben möchte.</p>
<p>Benutze ich keine Referenz als Parameter der Funktion &quot;einlesen&quot; funktioniert der Code einwandfrei, natürlich wird aber der übergebene Vector dann nicht verändert.<br />
Ich bin mir bewusst dass ich die &quot;einlesen&quot; Funktion umschreiben könnte sodass sie den Vector zurückgibt und ich diesen dann in &quot;main&quot; speichere, es handelt sich bei der Aufgabe jedoch um eine Aufgabe aus dem Buch &quot;Einführung in die Programmierung in C++&quot;, und ich wollte noch ein wenig mit Referenzen üben <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>
<p>Ich wäre euch sehr dankbar wenn ihr mir aufzeigen könntet wo der Fehler liegt, ich erkenne absolut keinen. M.M.n. mache ich es genau wie in diesem Beispiel aus dem Buch:</p>
<pre><code>void init(vector &lt;double&gt;&amp; v)
{
	for(int i=0; i&lt;v.size();++i)
	{
		v[i]=i;
	}
}

int main()
{
	vector&lt;double&gt; vd1(10);
	init(vd1);
}
</code></pre>
<p>Dieser Code funktioniert und schreibt in den von main übergebenen Vector vd1 die Zahlen 0-9.</p>
<p>Vielen Dank schonmal für Eure Hilfe <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/topic/320955/linkerfehler-bei-funktionsaufruf-mit-referenz</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 13:14:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320955.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 18 Oct 2013 11:06:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linkerfehler bei Funktionsaufruf mit Referenz on Fri, 18 Oct 2013 11:06:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich erhalte folgenden Linkerfehler:</p>
<pre><code>1&gt;main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;void __cdecl einlesen(struct Vector&lt;struct Point&gt;,struct String)&quot; (?einlesen@@YAXU?$Vector@UPoint@@@@UString@@@Z)&quot; in Funktion &quot;_main&quot;.
1&gt;c:\Users\Tim\Documents\Visual Studio 2010\Projects\Kapitel10-A1-7\Debug\Kapitel10-A1-7.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
</code></pre>
<p>und hab absolut keine Ahnung warum <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>
<p>In main() erstelle ich einen Vector von Punkten (eine einfache Struktur mit x- und y-Werten) und rufe die Funktion &quot;einlesen&quot; auf:</p>
<pre><code>vector&lt;Point&gt; processed_points;
einlesen(processed_points, &quot;myData.txt&quot;);
</code></pre>
<p>Hier meine Funktion &quot;einlesen&quot;:</p>
<pre><code>void einlesen(vector &lt;Point&gt;&amp; v, String name)
{
	Point p;
	ifstream ifstr(name.c_str());
	while(ifstr &gt;&gt; p)
	{
		v.push_back(p);
	}

}
</code></pre>
<p>Hier benutze ich</p>
<pre><code>vector &lt;Point&gt;&amp; v
</code></pre>
<p>statt</p>
<pre><code>vector &lt;Point&gt; v
</code></pre>
<p>da ich die aus der Datei &quot;myData.txt&quot; gelesenen Punkte direkt in den der Funktion &quot;einlesen&quot; übergebenen Vector &quot;processed_points&quot; schreiben möchte.</p>
<p>Benutze ich keine Referenz als Parameter der Funktion &quot;einlesen&quot; funktioniert der Code einwandfrei, natürlich wird aber der übergebene Vector dann nicht verändert.<br />
Ich bin mir bewusst dass ich die &quot;einlesen&quot; Funktion umschreiben könnte sodass sie den Vector zurückgibt und ich diesen dann in &quot;main&quot; speichere, es handelt sich bei der Aufgabe jedoch um eine Aufgabe aus dem Buch &quot;Einführung in die Programmierung in C++&quot;, und ich wollte noch ein wenig mit Referenzen üben <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>
<p>Ich wäre euch sehr dankbar wenn ihr mir aufzeigen könntet wo der Fehler liegt, ich erkenne absolut keinen. M.M.n. mache ich es genau wie in diesem Beispiel aus dem Buch:</p>
<pre><code>void init(vector &lt;double&gt;&amp; v)
{
	for(int i=0; i&lt;v.size();++i)
	{
		v[i]=i;
	}
}

int main()
{
	vector&lt;double&gt; vd1(10);
	init(vd1);
}
</code></pre>
<p>Dieser Code funktioniert und schreibt in den von main übergebenen Vector vd1 die Zahlen 0-9.</p>
<p>Vielen Dank schonmal für Eure Hilfe <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/2361136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361136</guid><dc:creator><![CDATA[TeKilla]]></dc:creator><pubDate>Fri, 18 Oct 2013 11:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerfehler bei Funktionsaufruf mit Referenz on Fri, 18 Oct 2013 11:12:30 GMT]]></title><description><![CDATA[<p>Du hast vermutlich irgendwo eine <strong>Deklaration</strong>:</p>
<pre><code>void einlesen(vector &lt;Point&gt;, String)
</code></pre>
<p>Die passt nicht zu dem, wie deine Definition der Funktion aussieht. Der Linker hält daher den Aufruf der Funktion und die eigentliche Funktion für zwei unterschiedliche Funktionen. Guck mal durch deine Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361138</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Oct 2013 11:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to Linkerfehler bei Funktionsaufruf mit Referenz on Fri, 18 Oct 2013 11:29:12 GMT]]></title><description><![CDATA[<p>Oh mann, das wars <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="🙂"
    /><br />
Vielen Dank, das habe ich tatsächlich bei der Fehlersuche überlesen.<br />
Thema kann geschlossen werden <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/2361145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361145</guid><dc:creator><![CDATA[TeKilla]]></dc:creator><pubDate>Fri, 18 Oct 2013 11:29:12 GMT</pubDate></item></channel></rss>