<?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[Fehler den ich nicht verstehe: LNK2019]]></title><description><![CDATA[<p>Abend,</p>
<p>hab mir eigentlich vorgenommen hier nicht zu posten.<br />
Aber da mir der Fehler schon heute zum 2. Mal in die Quere kommt, bin ich gezwungen hier zu fragen. Und wer nicht fragt, der bleibt dumm...^^</p>
<p>Beim ersten Mal, hab ich es irgendwie geschafft, den Fehler zu beseitigen &gt;.&gt;<br />
Leider kann ich mich nicht erinnern wie ich es geschafft habe...Schade.</p>
<p>Also:</p>
<blockquote>
<p>Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;public: void __thiscall menge::anzeigen(void)&quot; (?anzeigen@menge@@QAEXXZ)&quot; in Funktion &quot;_main&quot;. main.obj</p>
</blockquote>
<blockquote>
<p>Fehler 2 fatal error LNK1120: 1 nicht aufgelöste externe Verweise.</p>
</blockquote>
<p>Die Fehler tretten auf, wenn ich in der main.cpp ein Objekt erstelle.</p>
<pre><code class="language-cpp">//IntMenge.cpp
#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &quot;IntMenge.h&quot;

std::vector&lt;int&gt; mengen_v;		//Globaler Vector
int zaehler = 0;				//Globale Zählvariable

inline void inkrement(int&amp; zaehler)
{
	zaehler++;
}

inline void menge::hinzufuegen(int el)
{

	if(menge::isMember(el) == false)
	{
	mengen_v.push_back(el);
	inkrement(zaehler);
	std::cout &lt;&lt; &quot;\nErfolgreich!&quot; &lt;&lt; std::endl;
	}
	else
		std::cout &lt;&lt; &quot;\nIst vorhanden!&quot; &lt;&lt; std::endl;
}

inline bool menge::isMember(int el)
{
	for(unsigned int i=0; i &lt; mengen_v.size();i++)
	{
		if(mengen_v.at(i) == el)
			return true;
		else
			return false;
	}
}

inline void menge::entfernen(int el)
{
	if(menge::isMember(el) == false)
	{
		for(unsigned int i=0; i &lt; mengen_v.size(); i++)
		{
			if(mengen_v.at(i) == el)
			{
				std::cout &lt;&lt; &quot;\nErfolgreich gelöscht!&quot; &lt;&lt; std::endl;
				mengen_v.erase(mengen_v.begin()+i-1);
			}
		}
	}
	else
		std::cout &lt;&lt; &quot;\nElement nicht vorhanden!&quot; &lt;&lt; std::endl;

}

inline size_t menge::size()
{
	std::cout &lt;&lt; &quot;\nAnzahl der Elemente: &quot;;
	return mengen_v.size();
}

inline void menge::anzeigen()
{
	for(unsigned int i=0; i &lt; mengen_v.size(); i++)
		std::cout &lt;&lt; mengen_v.at(i) &lt;&lt; &quot; , &quot;;
	std::cout &lt;&lt; std::endl;
}

inline void menge::loeschen()
{
	mengen_v.clear();
	std::cout &lt;&lt; &quot;\nAlle Elemente erfolgreich gelöscht!&quot; &lt;&lt; std::endl;
}

inline int menge::getMax()
{
	menge::maximum = mengen_v.at(0);
	for(unsigned int i=0; i &lt; mengen_v.size(); ++i)
	{
		if(menge::maximum &lt; mengen_v.at(i))
			menge::maximum = mengen_v.at(i);
		else
			i++;
	}
	std::cout &lt;&lt; &quot;\nDas groesste Element ist: &quot; &lt;&lt; menge::maximum &lt;&lt; std::endl;
	return menge::maximum;
}

inline int menge::getMin()
{
	menge::minimum = mengen_v.at(0);
	for(unsigned int i=0; i &lt; mengen_v.size(); ++i)
	{
		if(menge::minimum &gt; mengen_v.at(i))
			menge::minimum = mengen_v.at(i);
		else
			i++;
	}
	std::cout &lt;&lt; &quot;\nDas kleinste Element ist: &quot; &lt;&lt; menge::minimum &lt;&lt; std::endl;
	return menge::minimum;
}
</code></pre>
<pre><code class="language-cpp">//IntMenge.h
#ifndef INTMENGE_H
#define INTMENGE_H

class menge
{
public:
	void hinzufuegen(int el);	//Element &gt;&gt;el&lt;&lt; hinzufügen, falls es noch nicht existiert, andernfalls nichts tun.
	void entfernen(int el);		//Element &gt;&gt;el&lt;&lt; entfernen, falls es vorhanden ist, andernfalls nichts tun.
	bool isMember(int el);		//Gibt an, ob &gt;&gt;el&lt;&lt; in der Menge enthalten ist.
	size_t size();				//Gibt die Anzahl der gespeicherten Elemente zurück.
	void anzeigen();			//Gibt alle Elemente auf der Standardausgabe aus.
	void loeschen();			//Alle Elemente löschen.
	int getMax();				//Getter
	int getMin();				//Getter
private:
	int maximum;			//Maximum der vorhandenen Elemente
	int minimum;			//Minimum der vorhandenen Elemente
};

#endif
</code></pre>
<pre><code class="language-cpp">//main.cpp
#include &quot;IntMenge.h&quot;
#include &lt;iostream&gt;

int main(int argc, char** argv)
{
	menge o;
	o.anzeigen();
}
</code></pre>
<p>Hoffentlich guckt sich jemand den Thread an,... *daumendrück*</p>
<p>Wäre euch zutiefst dankbar!</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247805/fehler-den-ich-nicht-verstehe-lnk2019</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:02:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247805.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Aug 2009 18:27:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Sat, 15 Aug 2009 18:27:42 GMT]]></title><description><![CDATA[<p>Abend,</p>
<p>hab mir eigentlich vorgenommen hier nicht zu posten.<br />
Aber da mir der Fehler schon heute zum 2. Mal in die Quere kommt, bin ich gezwungen hier zu fragen. Und wer nicht fragt, der bleibt dumm...^^</p>
<p>Beim ersten Mal, hab ich es irgendwie geschafft, den Fehler zu beseitigen &gt;.&gt;<br />
Leider kann ich mich nicht erinnern wie ich es geschafft habe...Schade.</p>
<p>Also:</p>
<blockquote>
<p>Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;public: void __thiscall menge::anzeigen(void)&quot; (?anzeigen@menge@@QAEXXZ)&quot; in Funktion &quot;_main&quot;. main.obj</p>
</blockquote>
<blockquote>
<p>Fehler 2 fatal error LNK1120: 1 nicht aufgelöste externe Verweise.</p>
</blockquote>
<p>Die Fehler tretten auf, wenn ich in der main.cpp ein Objekt erstelle.</p>
<pre><code class="language-cpp">//IntMenge.cpp
#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &quot;IntMenge.h&quot;

std::vector&lt;int&gt; mengen_v;		//Globaler Vector
int zaehler = 0;				//Globale Zählvariable

inline void inkrement(int&amp; zaehler)
{
	zaehler++;
}

inline void menge::hinzufuegen(int el)
{

	if(menge::isMember(el) == false)
	{
	mengen_v.push_back(el);
	inkrement(zaehler);
	std::cout &lt;&lt; &quot;\nErfolgreich!&quot; &lt;&lt; std::endl;
	}
	else
		std::cout &lt;&lt; &quot;\nIst vorhanden!&quot; &lt;&lt; std::endl;
}

inline bool menge::isMember(int el)
{
	for(unsigned int i=0; i &lt; mengen_v.size();i++)
	{
		if(mengen_v.at(i) == el)
			return true;
		else
			return false;
	}
}

inline void menge::entfernen(int el)
{
	if(menge::isMember(el) == false)
	{
		for(unsigned int i=0; i &lt; mengen_v.size(); i++)
		{
			if(mengen_v.at(i) == el)
			{
				std::cout &lt;&lt; &quot;\nErfolgreich gelöscht!&quot; &lt;&lt; std::endl;
				mengen_v.erase(mengen_v.begin()+i-1);
			}
		}
	}
	else
		std::cout &lt;&lt; &quot;\nElement nicht vorhanden!&quot; &lt;&lt; std::endl;

}

inline size_t menge::size()
{
	std::cout &lt;&lt; &quot;\nAnzahl der Elemente: &quot;;
	return mengen_v.size();
}

inline void menge::anzeigen()
{
	for(unsigned int i=0; i &lt; mengen_v.size(); i++)
		std::cout &lt;&lt; mengen_v.at(i) &lt;&lt; &quot; , &quot;;
	std::cout &lt;&lt; std::endl;
}

inline void menge::loeschen()
{
	mengen_v.clear();
	std::cout &lt;&lt; &quot;\nAlle Elemente erfolgreich gelöscht!&quot; &lt;&lt; std::endl;
}

inline int menge::getMax()
{
	menge::maximum = mengen_v.at(0);
	for(unsigned int i=0; i &lt; mengen_v.size(); ++i)
	{
		if(menge::maximum &lt; mengen_v.at(i))
			menge::maximum = mengen_v.at(i);
		else
			i++;
	}
	std::cout &lt;&lt; &quot;\nDas groesste Element ist: &quot; &lt;&lt; menge::maximum &lt;&lt; std::endl;
	return menge::maximum;
}

inline int menge::getMin()
{
	menge::minimum = mengen_v.at(0);
	for(unsigned int i=0; i &lt; mengen_v.size(); ++i)
	{
		if(menge::minimum &gt; mengen_v.at(i))
			menge::minimum = mengen_v.at(i);
		else
			i++;
	}
	std::cout &lt;&lt; &quot;\nDas kleinste Element ist: &quot; &lt;&lt; menge::minimum &lt;&lt; std::endl;
	return menge::minimum;
}
</code></pre>
<pre><code class="language-cpp">//IntMenge.h
#ifndef INTMENGE_H
#define INTMENGE_H

class menge
{
public:
	void hinzufuegen(int el);	//Element &gt;&gt;el&lt;&lt; hinzufügen, falls es noch nicht existiert, andernfalls nichts tun.
	void entfernen(int el);		//Element &gt;&gt;el&lt;&lt; entfernen, falls es vorhanden ist, andernfalls nichts tun.
	bool isMember(int el);		//Gibt an, ob &gt;&gt;el&lt;&lt; in der Menge enthalten ist.
	size_t size();				//Gibt die Anzahl der gespeicherten Elemente zurück.
	void anzeigen();			//Gibt alle Elemente auf der Standardausgabe aus.
	void loeschen();			//Alle Elemente löschen.
	int getMax();				//Getter
	int getMin();				//Getter
private:
	int maximum;			//Maximum der vorhandenen Elemente
	int minimum;			//Minimum der vorhandenen Elemente
};

#endif
</code></pre>
<pre><code class="language-cpp">//main.cpp
#include &quot;IntMenge.h&quot;
#include &lt;iostream&gt;

int main(int argc, char** argv)
{
	menge o;
	o.anzeigen();
}
</code></pre>
<p>Hoffentlich guckt sich jemand den Thread an,... *daumendrück*</p>
<p>Wäre euch zutiefst dankbar!</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761479</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 15 Aug 2009 18:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Sat, 15 Aug 2009 18:48:34 GMT]]></title><description><![CDATA[<p>Entfern mal die <code>inline</code> s. Es gibt hier absolut keinen Grund für sie.</p>
<p>Ausserdem sollte jede Klasse ihren eigenen Container haben und nicht einen globalen teilen. Vielleicht sollen ja mal mehrere unabhängige Mengen erstellt werden. Und was bringt die Funktion <code>inkrement()</code> genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761483</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 15 Aug 2009 18:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Sat, 15 Aug 2009 20:09:29 GMT]]></title><description><![CDATA[<p>Hmmmm, lag an den Inlines. Sollte mir das Kapitel noch einmal durchlesen.</p>
<p>Danke dir Nexus. Hat geklappt!</p>
<p>€dit:<br />
Von Containern hab ich nur was gehört,... kenn mich da noch nicht aus.<br />
Die Funktion inkrement... jo. Etwas sinnlos^^</p>
<p>Lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761501</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 15 Aug 2009 20:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Sun, 16 Aug 2009 21:24:44 GMT]]></title><description><![CDATA[<p>Und schau dir noch mal genau die Funktion 'isMember' an bzgl. der return-Anweisungen.</p>
<p>Und bzgl. Container: damit ist &quot;vector&lt;int&gt; mengen_v&quot; gemeint. Mach diesen zu einem Member der Klasse 'menge'.</p>
<p>P.S.: vermeide möglichst ein 'denglisch', nimm besser gleich nur englisch für deine Methoden und Member...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761971</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 16 Aug 2009 21:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Sun, 16 Aug 2009 21:33:45 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>P.S.: vermeide möglichst ein 'denglisch', nimm besser gleich nur englisch für deine Methoden und Member...</p>
</blockquote>
<p>Guter Tip.<br />
Aber wie lautet die Begründung dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761974</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 16 Aug 2009 21:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Mon, 17 Aug 2009 04:47:31 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>P.S.: vermeide möglichst ein 'denglisch', nimm besser gleich nur englisch für deine Methoden und Member...</p>
</blockquote>
<p>Bei uns würde es heissen &quot;Amtssprache ist DEUTSCH&quot;. Dennoch wird get, set, is verwendet, weil viele Codegeneratoren und -analysatoren (speziell in Java) das verlangen. Echt gruselig manchmal.</p>
<p>Sorry for OT <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/1762016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762016</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 17 Aug 2009 04:47:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler den ich nicht verstehe: LNK2019 on Mon, 17 Aug 2009 06:14:32 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Und bzgl. Container: damit ist &quot;vector&lt;int&gt; mengen_v&quot; gemeint. Mach diesen zu einem Member der Klasse 'menge'.</p>
</blockquote>
<p>Ohh! Danke <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>Werde ich mal gleich ausprobieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762047</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Mon, 17 Aug 2009 06:14:32 GMT</pubDate></item></channel></rss>