<?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 in Headerdatei wird nicht gefunden]]></title><description><![CDATA[<p>Ich verstehe folgendes nicht. Folgende Klasse existiert (nur eine Header-Datei):</p>
<pre><code>#ifndef A_H
#define A_H

namespace myA {
	class Foo{
	public:
		static const int BYTES_HEADER = 4 + 2 + 6;
		static const int PROTOCOL_ID = 0;

                // [...]
	};
}

#endif // A_H
</code></pre>
<p>Verwendet wird sie innerhalb einer anderen Klasse:</p>
<pre><code>// Foo wird natürlich included
namespace myB {
	void Bar::process() {
		myA::Foo foo;
		// [...]

		if(vecBuffer.size() &gt;= myA::Foo::BYTES_HEADER) {
			// [...]
		}

		if(protocolID != myA::Foo::PROTOCOL_ID) {
		// [...]
		}

	}
}
</code></pre>
<p>Visual Studio 2012: Keine Probleme.<br />
g++:</p>
<pre><code>if(vecBuffer.size() &gt;= myA::Foo::BYTES_HEADER)
</code></pre>
<blockquote>
<p>myA::Foo::BYTES_HEADER ist unbekannt (PROTOCOL_ID dagegen nicht <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>
</blockquote>
<p>Ich verstehe das nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/320462/statische-klassenvariable-in-headerdatei-wird-nicht-gefunden</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 02:40:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/320462.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Sep 2013 12:42:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 12:42:29 GMT]]></title><description><![CDATA[<p>Ich verstehe folgendes nicht. Folgende Klasse existiert (nur eine Header-Datei):</p>
<pre><code>#ifndef A_H
#define A_H

namespace myA {
	class Foo{
	public:
		static const int BYTES_HEADER = 4 + 2 + 6;
		static const int PROTOCOL_ID = 0;

                // [...]
	};
}

#endif // A_H
</code></pre>
<p>Verwendet wird sie innerhalb einer anderen Klasse:</p>
<pre><code>// Foo wird natürlich included
namespace myB {
	void Bar::process() {
		myA::Foo foo;
		// [...]

		if(vecBuffer.size() &gt;= myA::Foo::BYTES_HEADER) {
			// [...]
		}

		if(protocolID != myA::Foo::PROTOCOL_ID) {
		// [...]
		}

	}
}
</code></pre>
<p>Visual Studio 2012: Keine Probleme.<br />
g++:</p>
<pre><code>if(vecBuffer.size() &gt;= myA::Foo::BYTES_HEADER)
</code></pre>
<blockquote>
<p>myA::Foo::BYTES_HEADER ist unbekannt (PROTOCOL_ID dagegen nicht <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>
</blockquote>
<p>Ich verstehe das nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356406</guid><dc:creator><![CDATA[RaffIchNicht]]></dc:creator><pubDate>Sun, 29 Sep 2013 12:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 12:47:21 GMT]]></title><description><![CDATA[<blockquote>
<p>myA::Foo::BYTES_HEADER ist unbekannt (PROTOCOL_ID dagegen nicht)</p>
</blockquote>
<p>Entweder das ist nicht die ganze Wahrheit, oder GCC hat einen Bug. Einen Fehler kann ich nicht entdecken. Jemand anders etwa?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356407</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 29 Sep 2013 12:47:21 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 12:51:11 GMT]]></title><description><![CDATA[<p>Ich kann mir nicht vorstellen, dass der gcc einen Bug hat. Auf der anderen Seite kompiliert (und läuft!) das auf dem Visual Studio durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356409</guid><dc:creator><![CDATA[RaffIchNicht]]></dc:creator><pubDate>Sun, 29 Sep 2013 12:51:11 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 12:52:16 GMT]]></title><description><![CDATA[<p>RaffIchNicht schrieb:</p>
<blockquote>
<p>Ich kann mir nicht vorstellen, dass der gcc einen Bug hat.</p>
</blockquote>
<p>Ich schon.</p>
<blockquote>
<p>Auf der anderen Seite kompiliert (und läuft!) das auf dem Visual Studio durch.</p>
</blockquote>
<p>Auf der anderen Seite muss das nichts heißen, denn VC++ lässt eine Menge durchgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356410</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 29 Sep 2013 12:52:16 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 13:39:31 GMT]]></title><description><![CDATA[<p>Also: g++ ist 4.6.3 (ein neueren gibt es für meine Platform nicht).<br />
Ich habe jetzt auf beiden Seiten (Windows + Linux) nochmal vollständig neu kompiliert.</p>
<p>Windows mit dem Visual Studio 2012: Keine Probleme<br />
Linu mit g++ 4.6.3: Kompiliert die entsprechende Datei, meldet aber beim Linken</p>
<blockquote>
<p>(in der auszugsweise dargestellten Datei): undefined reference to `myA::Foo::BYTES_HEADER'</p>
</blockquote>
<p>Was könnte das noch sein? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2356425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356425</guid><dc:creator><![CDATA[RaffIchNicht]]></dc:creator><pubDate>Sun, 29 Sep 2013 13:39:31 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 13:58:34 GMT]]></title><description><![CDATA[<p>Versuch mal eine Implementatiosndatei zue rstellen und die statischen Dinger darin zu definieren:</p>
<pre><code>// A.h
#ifndef A_H
#define A_H

namespace myA {
    class Foo{
    public:
        static const int BYTES_HEADER; // Deklaration
        static const int PROTOCOL_ID; 

                // [...]
    };
}

#endif // A_H
</code></pre>
<pre><code>// A.cpp
const int myA::Foo::BYTES_HEADER = 4 + 2 + 6;
const int myA::Foo::PROTOCOL_ID = 0; // bin mir nicht sicher ob das const bei der Definition hin muss
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2356432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356432</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 29 Sep 2013 13:58:34 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 14:24:39 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>Versuch mal eine Implementatiosndatei zue rstellen und die statischen Dinger darin zu definieren:</p>
<pre><code>// A.h
#ifndef A_H
#define A_H
 
namespace myA {
    class Foo{
    public:
        static const int BYTES_HEADER; // Deklaration
        static const int PROTOCOL_ID; 
 
                // [...]
    };
}

#endif // A_H
</code></pre>
<pre><code>// A.cpp
const int myA::Foo::BYTES_HEADER = 4 + 2 + 6;
const int myA::Foo::PROTOCOL_ID = 0; // bin mir nicht sicher ob das const bei der Definition hin muss
</code></pre>
</blockquote>
<p>Mit der Auslagerung in die cpp hat der g++ es gefressen... danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356445</guid><dc:creator><![CDATA[RaffIchNicht]]></dc:creator><pubDate>Sun, 29 Sep 2013 14:24:39 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 16:03:08 GMT]]></title><description><![CDATA[<p>Packt der GCC es, wenn die Optimierungen an sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356471</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 29 Sep 2013 16:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to Statische Klassenvariable in Headerdatei wird nicht gefunden on Sun, 29 Sep 2013 16:14:57 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Packt der GCC es, wenn die Optimierungen an sind?</p>
</blockquote>
<p>Ja, ab -O1 -flto. -O3 ohne -flto ist nicht ausreichend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2356473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2356473</guid><dc:creator><![CDATA[packer]]></dc:creator><pubDate>Sun, 29 Sep 2013 16:14:57 GMT</pubDate></item></channel></rss>