<?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[Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bekomm einen LNK2001 fehler bei einer einfachen Singelton klasse:(</p>
<p>Header:</p>
<pre><code>#pragma once

class Tim3
{
private:
	Tim3(void);
	~Tim3(void);

	static Tim3* _pInstance;

public: 

	static Tim3* Singelton(void);
};
</code></pre>
<p>code:</p>
<pre><code>#include &quot;Tim3.h&quot;

Tim3::Tim3(void)
{
}

Tim3* Tim3::Singelton(void)
{
	if(Tim3::_pInstance == NULL)
		Tim3::_pInstance = new Tim3();
	return Tim3::_pInstance;
	return NULL;
}

Tim3::~Tim3(void)
{
}
</code></pre>
<p>Was fehltmhier denn? <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>
<p>Danke und Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/330620/direkte-anfänger-probleme-singleton-gt-error-lnk2001</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 02:32:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/330620.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Jan 2015 08:44:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 08:44:24 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bekomm einen LNK2001 fehler bei einer einfachen Singelton klasse:(</p>
<p>Header:</p>
<pre><code>#pragma once

class Tim3
{
private:
	Tim3(void);
	~Tim3(void);

	static Tim3* _pInstance;

public: 

	static Tim3* Singelton(void);
};
</code></pre>
<p>code:</p>
<pre><code>#include &quot;Tim3.h&quot;

Tim3::Tim3(void)
{
}

Tim3* Tim3::Singelton(void)
{
	if(Tim3::_pInstance == NULL)
		Tim3::_pInstance = new Tim3();
	return Tim3::_pInstance;
	return NULL;
}

Tim3::~Tim3(void)
{
}
</code></pre>
<p>Was fehltmhier denn? <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>
<p>Danke und Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438330</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Mon, 19 Jan 2015 08:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 08:58:22 GMT]]></title><description><![CDATA[<p>Die Deklaration der static-Variablen in der CPP-Datei.</p>
<p>PS: Singelton -&gt; Singleton<br />
Und laß das (void) weg, es reicht in C++ ().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438331</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Mon, 19 Jan 2015 08:58:22 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 08:59:25 GMT]]></title><description><![CDATA[<p>Eine Definition der statischen Variable _pInstance:</p>
<pre><code>Tim3* Tim3::_pInstance;
</code></pre>
<p>muss noch in die .cpp mit rein.</p>
<p>Erklärung:<br />
In der Klassendeklaration wird die statische Variable nur deklariert, sie wird aber noch nicht definiert, insbesondere wird da noch kein Speicher für die Variable bereitgestellt. Das wäre ja auch komisch, weil der Head ggf. ganz oft inkludiert werden kann, und woher soll der Compiler dann wissen wann er Speicher anlegen muss und wann nicht. Das macht man dann in der zugehörigen Übersetzungseinheit (ÜE). Da jede ÜE genau einmal übersetzt wird, reserviert der Compiler so genau einmal Speicher für die statische Variable.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438332</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 19 Jan 2015 08:59:25 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:07:34 GMT]]></title><description><![CDATA[<p>hmm ok super danke funktioniert:)</p>
<p>oh man der umstieg von c# wieder ac++ nach 5 jahren.. schleppend:p</p>
<p>p.s. das Void hat mir VS automatisch miteingefügt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438336</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:12:57 GMT]]></title><description><![CDATA[<p>In der .cpp fehlt:</p>
<pre><code>Tim3* Tim3::_pInstance = NULL;
</code></pre>
<p>Wenn du schon Singletons verwenden musst, mach es lieber so:</p>
<pre><code>// Header
class Tim3
{
  ...
public:
  static Tim3 &amp;Singleton();
  ...
};

// .cpp
Tim3 &amp;Tim3::Singleton()
{
  static Tim3 myTim3;
  return myTim3;
}
</code></pre>
<p>Edit: <em>Singleton()</em> gehört natürlich public.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438337</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:11:10 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/324">@Jester</a> : Perfekt danke für die erklärung, leutet ein:)</p>
<p>ich habe die variable in der c++ so deklariert</p>
<pre><code>static Tim3* _pInstance;
</code></pre>
<p>und in der header rausgenommen!</p>
<p>Aber das müsste doch jetzt auch mit dem schlüsselwort extern gehn?<br />
So dass &quot;static Tim3* _pInstance;&quot; in der header ist, und in der cpp &quot; extern Tim3* _pInstance;&quot;? aber hat nich geklappt:)</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438338</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:11:10 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:13:48 GMT]]></title><description><![CDATA[<blockquote>
<p>// .cpp<br />
Tim3 &amp;Tim3::Singleton()<br />
{<br />
static Tim3 myTim3;<br />
return myTim3;<br />
}</p>
</blockquote>
<p>coole idee, aber da muss der ctor öffentlich sein, was ich eig. nich will:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438339</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:27:54 GMT]]></title><description><![CDATA[<p>NullBockException schrieb:</p>
<blockquote>
<blockquote>
<p>// .cpp<br />
Tim3 &amp;Tim3::Singleton()<br />
{<br />
static Tim3 myTim3;<br />
return myTim3;<br />
}</p>
</blockquote>
<p>coole idee, aber da muss der ctor öffentlich sein, was ich eig. nich will:)</p>
</blockquote>
<p>Nö muss er nicht, das sollte genau so gehen wie ich es gepostet habe.<br />
Bei mir unter clang kompilierts zumindest.</p>
<p>In deinem originalen Code rufst du ja auch den privaten Konstruktor der Klasse auf.</p>
<p>NullBockException schrieb:</p>
<blockquote>
<pre><code>Tim3::_pInstance = new Tim3();
</code></pre>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2438340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438340</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:30:45 GMT]]></title><description><![CDATA[<p>sorry mein fehler, irgendwie hatte VS an der stelle</p>
<pre><code>static Tim3 myTim3;
</code></pre>
<p>gemotzt, jetzt gehts:) Danke holzkübel;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438341</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:30:45 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 09:42:52 GMT]]></title><description><![CDATA[<p>NullBockException schrieb:</p>
<blockquote>
<p>irgendwie hatte VS an der stelle gemotzt, jetzt gehts:) Danke holzkübel;)</p>
</blockquote>
<p>Null Problemo, gern geschehen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438346</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Mon, 19 Jan 2015 09:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 11:53:56 GMT]]></title><description><![CDATA[<p>Leute, die Singletons schreiben, lassen vermutlich auch ihren Hund auf den Gehweg kacken. Machen ja andere wieder weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438373</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Mon, 19 Jan 2015 11:53:56 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 13:22:44 GMT]]></title><description><![CDATA[<p>Thug Life :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438387</guid><dc:creator><![CDATA[NullBockException]]></dc:creator><pubDate>Mon, 19 Jan 2015 13:22:44 GMT</pubDate></item><item><title><![CDATA[Reply to Direkte Anfänger Probleme:) Singleton =&amp;gt; error LNK2001 on Mon, 19 Jan 2015 16:17:25 GMT]]></title><description><![CDATA[<p>@NullBockException<br />
Standardfragen wenn jmd. Singletons verwendet: Wieso verwendest du ein Singleton? Welches Problem meinst du damit zu lösen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2438421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2438421</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 19 Jan 2015 16:17:25 GMT</pubDate></item></channel></rss>