<?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[static struct in einer Klasse erstellen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse (alle Methoden und Variablen sind als static definiert) in der auch eine &quot;statische Instanz&quot; eines structs enthalten sein soll.</p>
<p>Aktuell sieht das ganze in der .h Datei in etwa so aus:</p>
<pre><code class="language-cpp">typedef struct { unsigned A : 4; unsigned B : 4; } myStruct;
static myStruct instanceOfMyStruct;
</code></pre>
<p>Nun möchte ich dieses struct natürlich in den statischen Methoden meiner Klasse verwenden.</p>
<p>Nun bekomme ich den LNK2001 Fehler. Schließlich wurde die Variable des structs auch nicht in der .cpp Datei initialisiert, wie man es mit Variablen sonst tun muss.</p>
<p>Mache ich dies allerdings, dann hilft mir das auch nicht weiter, da ich dann folgende Fehlermeldung bekomme:</p>
<blockquote>
<p>error C2143: syntax error : missing ';' before 'myClass::instanceOfMyStruct'<br />
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
error C2371: 'instanceOfMyStruct' : redefinition; different basic types</p>
</blockquote>
<p>Initialisiert habe ich es so:</p>
<pre><code class="language-cpp">myStruct myClass::instanceOfMyStruct;
</code></pre>
<p>Wie kann ich das Problem lösen?</p>
<p>Danke schonmal!</p>
<p>Gruß</p>
<p>Shinzo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278602/static-struct-in-einer-klasse-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 04:30:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278602.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Dec 2010 16:10:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to static struct in einer Klasse erstellen on Thu, 09 Dec 2010 16:19:41 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine Klasse (alle Methoden und Variablen sind als static definiert) in der auch eine &quot;statische Instanz&quot; eines structs enthalten sein soll.</p>
<p>Aktuell sieht das ganze in der .h Datei in etwa so aus:</p>
<pre><code class="language-cpp">typedef struct { unsigned A : 4; unsigned B : 4; } myStruct;
static myStruct instanceOfMyStruct;
</code></pre>
<p>Nun möchte ich dieses struct natürlich in den statischen Methoden meiner Klasse verwenden.</p>
<p>Nun bekomme ich den LNK2001 Fehler. Schließlich wurde die Variable des structs auch nicht in der .cpp Datei initialisiert, wie man es mit Variablen sonst tun muss.</p>
<p>Mache ich dies allerdings, dann hilft mir das auch nicht weiter, da ich dann folgende Fehlermeldung bekomme:</p>
<blockquote>
<p>error C2143: syntax error : missing ';' before 'myClass::instanceOfMyStruct'<br />
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int<br />
error C2371: 'instanceOfMyStruct' : redefinition; different basic types</p>
</blockquote>
<p>Initialisiert habe ich es so:</p>
<pre><code class="language-cpp">myStruct myClass::instanceOfMyStruct;
</code></pre>
<p>Wie kann ich das Problem lösen?</p>
<p>Danke schonmal!</p>
<p>Gruß</p>
<p>Shinzo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1992038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992038</guid><dc:creator><![CDATA[RyoShinzo]]></dc:creator><pubDate>Thu, 09 Dec 2010 16:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to static struct in einer Klasse erstellen on Thu, 09 Dec 2010 16:17:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">typedef struct { unsigned A : 4; unsigned B : 4 /* --&gt; */ ; /* &lt;-- */ } myStruct;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1992049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992049</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Thu, 09 Dec 2010 16:17:06 GMT</pubDate></item><item><title><![CDATA[Reply to static struct in einer Klasse erstellen on Thu, 09 Dec 2010 16:20:50 GMT]]></title><description><![CDATA[<p>Ok, das war ein Schreibfehler im Beitrag, in meinem richtigen struct ist das Semicolon drin. Aber danke! <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>Wenn es am Semicolon gelegen hätte, hätte ich denke ich nicht erst beim Linker einen Fehler bekommen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1992051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992051</guid><dc:creator><![CDATA[RyoShinzo]]></dc:creator><pubDate>Thu, 09 Dec 2010 16:20:50 GMT</pubDate></item><item><title><![CDATA[Reply to static struct in einer Klasse erstellen on Thu, 09 Dec 2010 16:36:39 GMT]]></title><description><![CDATA[<p>RyoShinzo schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe eine Klasse (alle Methoden und Variablen sind als static definiert) in der auch eine &quot;statische Instanz&quot; eines structs enthalten sein soll.</p>
</blockquote>
<p>Das ist hoffentlich nur zum Testen, ansonsten wäre ein &quot;namespace&quot; wohl eher angebracht. C++ ist nicht Java.</p>
<p>RyoShinzo schrieb:</p>
<blockquote>
<pre><code class="language-cpp">typedef struct { unsigned A : 4; unsigned B : 4; } myStruct;
</code></pre>
</blockquote>
<p>Was soll das typedef? C++ ist auch nicht C.</p>
<p>Vielleicht geht's so:</p>
<pre><code class="language-cpp">myClass::myStruct myClass::instanceOfMyStruct;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1992066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992066</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 09 Dec 2010 16:36:39 GMT</pubDate></item><item><title><![CDATA[Reply to static struct in einer Klasse erstellen on Fri, 10 Dec 2010 13:03:39 GMT]]></title><description><![CDATA[<p>Hat geklappt, danke! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1992558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1992558</guid><dc:creator><![CDATA[RyoShinzo]]></dc:creator><pubDate>Fri, 10 Dec 2010 13:03:39 GMT</pubDate></item></channel></rss>