<?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[Problem mit Struktur in Header-Datei]]></title><description><![CDATA[<p>Also mein Problem ist folgendes:<br />
Ich habe eine Struktur geschrieben, die 4 Member vom Typ int hat, die die Dimensionen eines Fensters festlegen.<br />
Diese Struktur steht in einem Header-File und benutzen möchte ich sie in einer cpp-Datei, dort wird sie allerdings nicht erkannt und der Compiler fordert immer,<br />
dass links eine Struktur/Union usw. stehen muss, was ja eigentlich der Fall ist.</p>
<pre><code class="language-cpp">//StdAfx.h
//...
#include &quot;Declarations.h&quot;
#include &quot;CGui.h&quot;
//...
</code></pre>
<pre><code class="language-cpp">//Declarations.h
typedef struct WINPARAMSA
{
  int xPos;
  int yPos;
  int width;
  int height;
}WINPARAMS;
</code></pre>
<pre><code class="language-cpp">//CGui.h
//...
namespace Interface
{
  //...
  static WINPARAMS nm_Window;
  //...
  static class CGui
  {
     //...
     void Init();
     //...
  }
}
//...
</code></pre>
<pre><code class="language-cpp">//CGui.cpp
//...
void Interface::CGui::Init()
{
  //...
  nm_Window.xPos = 10;
  //...
}
//...
</code></pre>
<p>Ausgespuckt werden dann Fehlermeldungen wie z.B.:<br />
links von .xPos muss sich eine Klasse/Struktur/Union befinden</p>
<p>Ich habe die Struktur dann mal probehalber direkt in der &quot;CGui.h&quot; deklariert.<br />
Dann hat es funktioniert, jedoch bin ich damit nicht zufrieden, denn ich<br />
beabsichtige die Struktur auch in anderen Headern zu verwenden und die Struktur<br />
jedesmal hin- und her kopieren zu müssen ist sicher nicht Sinn der Sache.</p>
<p>Ich hoffe die Frage ist nicht allzu dämlich und natürlich auch, dass mir jemand<br />
möglichst schnell helfen kann.</p>
<p>MFG Honky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/305970/problem-mit-struktur-in-header-datei</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 05:54:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305970.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2012 20:22:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Struktur in Header-Datei on Fri, 13 Jul 2012 20:22:58 GMT]]></title><description><![CDATA[<p>Also mein Problem ist folgendes:<br />
Ich habe eine Struktur geschrieben, die 4 Member vom Typ int hat, die die Dimensionen eines Fensters festlegen.<br />
Diese Struktur steht in einem Header-File und benutzen möchte ich sie in einer cpp-Datei, dort wird sie allerdings nicht erkannt und der Compiler fordert immer,<br />
dass links eine Struktur/Union usw. stehen muss, was ja eigentlich der Fall ist.</p>
<pre><code class="language-cpp">//StdAfx.h
//...
#include &quot;Declarations.h&quot;
#include &quot;CGui.h&quot;
//...
</code></pre>
<pre><code class="language-cpp">//Declarations.h
typedef struct WINPARAMSA
{
  int xPos;
  int yPos;
  int width;
  int height;
}WINPARAMS;
</code></pre>
<pre><code class="language-cpp">//CGui.h
//...
namespace Interface
{
  //...
  static WINPARAMS nm_Window;
  //...
  static class CGui
  {
     //...
     void Init();
     //...
  }
}
//...
</code></pre>
<pre><code class="language-cpp">//CGui.cpp
//...
void Interface::CGui::Init()
{
  //...
  nm_Window.xPos = 10;
  //...
}
//...
</code></pre>
<p>Ausgespuckt werden dann Fehlermeldungen wie z.B.:<br />
links von .xPos muss sich eine Klasse/Struktur/Union befinden</p>
<p>Ich habe die Struktur dann mal probehalber direkt in der &quot;CGui.h&quot; deklariert.<br />
Dann hat es funktioniert, jedoch bin ich damit nicht zufrieden, denn ich<br />
beabsichtige die Struktur auch in anderen Headern zu verwenden und die Struktur<br />
jedesmal hin- und her kopieren zu müssen ist sicher nicht Sinn der Sache.</p>
<p>Ich hoffe die Frage ist nicht allzu dämlich und natürlich auch, dass mir jemand<br />
möglichst schnell helfen kann.</p>
<p>MFG Honky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232590</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Fri, 13 Jul 2012 20:22:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Struktur in Header-Datei on Fri, 13 Jul 2012 21:14:04 GMT]]></title><description><![CDATA[<p>Du hast den Code zu stark zusammengekürzt. Nun zeigt er alle möglichen Fehler, da er gar nicht erst compiliert. Lies dir mal den dritten Link in meiner Signatur aufmerksam durch. Wahrscheinlich ist es bloß eine Unachtsamkeit, wie ein vergessenes Semikolon oder include, aber das lässt sich bei dem was du uns zeigst nicht mehr sagen.</p>
<p>Übrigens sieht mir</p>
<pre><code class="language-cpp">typedef struct WINPARAMSA
{
  int xPos;
  int yPos;
  int width;
  int height;
}WINPARAMS;
</code></pre>
<p>doch sehr stark nach C aus (noch dazu schlechtem!). Wo hast du das denn her? Internettutorials? Bücher mit C/C++ im Titel? Leg die lieber was gutes zum Lernen zu, siehe dazu den zweiten Link in meiner Signatur.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232610</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 13 Jul 2012 21:14:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Struktur in Header-Datei on Sat, 14 Jul 2012 00:33:22 GMT]]></title><description><![CDATA[<p>Wie schreibt man eine Struktur denn dann C++-Konform? Ich kenne eigentlich<br />
nur diese Schreibweise.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232644</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Sat, 14 Jul 2012 00:33:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Struktur in Header-Datei on Sat, 14 Jul 2012 00:47:17 GMT]]></title><description><![CDATA[<p>Z.B. so</p>
<pre><code class="language-cpp">struct Bla
{
  int bli;
  // ...
};

Bla blub;  // Instanz von Bla
</code></pre>
<p>Die Variante mit typedef ist, wie man es in C machen würde, da man in C immer den elaborate Type Specifier schreiben muss, also z.B.</p>
<pre><code class="language-cpp">struct Bla
{
  // ...
};

typedef struct Bla bla_t;

Bla blub;         // error
struct Bla blub;  // OK
bla_t blab;       // OK
</code></pre>
<p>Durch das typedef kann man sich das in C sparen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232646</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 14 Jul 2012 00:47:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Struktur in Header-Datei on Sat, 14 Jul 2012 14:48:02 GMT]]></title><description><![CDATA[<p>Danke für eure Hilfe. Ich habe meinen Fehler gefunden.<br />
Das Problem war, dass ich die Header in der StdAfx.h in der falschen<br />
Reihenfolge includiert habe, d.h. ich habe die CGui.h vor der Declarations.h<br />
eingebunden und es ist ja nur logisch, dass er die WINPARAMS-Strukture dann<br />
nicht kennt.</p>
<p>MFG Honky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232751</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Sat, 14 Jul 2012 14:48:02 GMT</pubDate></item></channel></rss>