<?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[statische Klassenvariable erzeugt Linker Fehler]]></title><description><![CDATA[<p>Ich habe die Klasse</p>
<pre><code class="language-cpp">class PhaseObject 
{

public:
	PhaseObject();
	virtual ~PhaseObject();

private:
	static int m_count;

public:
	static int count() 	{ return m_count;}

};

int PhaseObject::m_count = 0;
</code></pre>
<p>welche in zwei Klassen geladen wird:</p>
<p>GlobalClasses.h</p>
<pre><code class="language-cpp">#include &quot;PhaseObject.h&quot;
#include &lt;vector&gt;
using std::vector;

extern vector&lt;PhaseObject&gt; PhaseObjects;
</code></pre>
<p>GlobalClasses.cpp</p>
<pre><code class="language-cpp">#include &quot;GlobalClasses.h&quot;
vector&lt;PhaseObject&gt; PhaseObjects;
</code></pre>
<p>MainWindow.h</p>
<pre><code class="language-cpp">#include &quot;GlobalClasses.h&quot;

class MainWindow : ...
</code></pre>
<p>das erzeugt nun den Fehler das</p>
<pre><code>private: static int PhaseObject::m_count&quot;
</code></pre>
<p>sowohl in GlobalClasses.obj als auch in MainWindow.obj erzeugt wurde.</p>
<p>Was muss ich nun ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/211233/statische-klassenvariable-erzeugt-linker-fehler</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 21:53:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/211233.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Apr 2008 18:24:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to statische Klassenvariable erzeugt Linker Fehler on Sun, 20 Apr 2008 18:25:16 GMT]]></title><description><![CDATA[<p>Ich habe die Klasse</p>
<pre><code class="language-cpp">class PhaseObject 
{

public:
	PhaseObject();
	virtual ~PhaseObject();

private:
	static int m_count;

public:
	static int count() 	{ return m_count;}

};

int PhaseObject::m_count = 0;
</code></pre>
<p>welche in zwei Klassen geladen wird:</p>
<p>GlobalClasses.h</p>
<pre><code class="language-cpp">#include &quot;PhaseObject.h&quot;
#include &lt;vector&gt;
using std::vector;

extern vector&lt;PhaseObject&gt; PhaseObjects;
</code></pre>
<p>GlobalClasses.cpp</p>
<pre><code class="language-cpp">#include &quot;GlobalClasses.h&quot;
vector&lt;PhaseObject&gt; PhaseObjects;
</code></pre>
<p>MainWindow.h</p>
<pre><code class="language-cpp">#include &quot;GlobalClasses.h&quot;

class MainWindow : ...
</code></pre>
<p>das erzeugt nun den Fehler das</p>
<pre><code>private: static int PhaseObject::m_count&quot;
</code></pre>
<p>sowohl in GlobalClasses.obj als auch in MainWindow.obj erzeugt wurde.</p>
<p>Was muss ich nun ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1495243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1495243</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Sun, 20 Apr 2008 18:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to statische Klassenvariable erzeugt Linker Fehler on Sun, 20 Apr 2008 18:29:33 GMT]]></title><description><![CDATA[<p>Es ist private.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1495246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1495246</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Sun, 20 Apr 2008 18:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to statische Klassenvariable erzeugt Linker Fehler on Sun, 20 Apr 2008 18:38:17 GMT]]></title><description><![CDATA[<p>du kannst diese static variable zwar in der h file definieren aber das funktioniert nur wenn du diese h file _ein einziges mal_ inkludierst</p>
<p>(also selbst wenn du ifndef .. oder pragma once hast wirkt sich das nicht aus)</p>
<p>sobald du diese h file ein zweites mal irgendwo inkludierst schreit der linker weil er versucht die static variable nochmal zu erzeugen aber es sie schon gibt</p>
<p>die m_count definition muss also in die PhaseObject.cpp rein</p>
<p>ich weiss zwar nicht ob das der grund ist für deinen fehler aber du musst zumindest das auch umändern</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1495251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1495251</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Sun, 20 Apr 2008 18:38:17 GMT</pubDate></item></channel></rss>