<?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[Kompiler erkennt eigene Klasse nicht als Datentyp an]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich, 14, (versuche) schreibe gerade ein Spiel. Dabei habe ich alle meine Klassen in den Namespace LEngine geschrieben. Jetzt habe ich in einer Klasse versucht eine andere Klasse als Variable anzulegen, IntelliSense erkennt auch alles, aber mein Compiler (VCExpress 2010) erkennt die Klasse nicht an und sagt mir folgenden Fehler:</p>
<blockquote>
<p>error C2143: Syntaxfehler: Es fehlt ';' vor '*'</p>
</blockquote>
<p>.</p>
<p>Der Code sieht so aus:<br />
Material.h:</p>
<pre><code class="language-cpp">namespace LEngine
{
	class Material:protected Base
	{
	protected:
		//... gekürzt ...
	public:
		//... gekürzt ...
	};
};
</code></pre>
<p>Entity.h:</p>
<pre><code class="language-cpp">namespace LEngine
{

	class Entity:protected Renderable
	{
	protected:
		//... gekürzt ...
		Material *m_pMaterial; //Hier soll der Fehler sein...
	public:
                //... gekürzt ...
	};
};
</code></pre>
<p>Ich habe es auch expizit mit</p>
<pre><code class="language-cpp">LEngine::Material *m_pMaterial
</code></pre>
<p>probiert, IntelliSense erkennt's, der Compiler sagt nur:</p>
<blockquote>
<p>error C2039: 'Material': Ist kein Element von 'LEngine'</p>
</blockquote>
<p>Ich bitte um Hilfe, weil ich nicht weiß was ich falsch mache.</p>
<p>mfg Calk</p>
<p>PS: Ja es wird alles includiert usw. , der Code der Basisklassen ist auch richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279367/kompiler-erkennt-eigene-klasse-nicht-als-datentyp-an</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 15:17:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279367.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Dec 2010 20:54:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Fri, 24 Dec 2010 20:54:49 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich, 14, (versuche) schreibe gerade ein Spiel. Dabei habe ich alle meine Klassen in den Namespace LEngine geschrieben. Jetzt habe ich in einer Klasse versucht eine andere Klasse als Variable anzulegen, IntelliSense erkennt auch alles, aber mein Compiler (VCExpress 2010) erkennt die Klasse nicht an und sagt mir folgenden Fehler:</p>
<blockquote>
<p>error C2143: Syntaxfehler: Es fehlt ';' vor '*'</p>
</blockquote>
<p>.</p>
<p>Der Code sieht so aus:<br />
Material.h:</p>
<pre><code class="language-cpp">namespace LEngine
{
	class Material:protected Base
	{
	protected:
		//... gekürzt ...
	public:
		//... gekürzt ...
	};
};
</code></pre>
<p>Entity.h:</p>
<pre><code class="language-cpp">namespace LEngine
{

	class Entity:protected Renderable
	{
	protected:
		//... gekürzt ...
		Material *m_pMaterial; //Hier soll der Fehler sein...
	public:
                //... gekürzt ...
	};
};
</code></pre>
<p>Ich habe es auch expizit mit</p>
<pre><code class="language-cpp">LEngine::Material *m_pMaterial
</code></pre>
<p>probiert, IntelliSense erkennt's, der Compiler sagt nur:</p>
<blockquote>
<p>error C2039: 'Material': Ist kein Element von 'LEngine'</p>
</blockquote>
<p>Ich bitte um Hilfe, weil ich nicht weiß was ich falsch mache.</p>
<p>mfg Calk</p>
<p>PS: Ja es wird alles includiert usw. , der Code der Basisklassen ist auch richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998690</guid><dc:creator><![CDATA[Calk]]></dc:creator><pubDate>Fri, 24 Dec 2010 20:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Fri, 24 Dec 2010 21:20:46 GMT]]></title><description><![CDATA[<p>Calk schrieb:</p>
<blockquote>
<p>PS: Ja es wird alles includiert usw.</p>
</blockquote>
<p>Vermutlich wird zuviel includiert. Binden sich zufällig Material.h und Entity.h gegenseitig ein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998692</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 24 Dec 2010 21:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Fri, 24 Dec 2010 21:45:49 GMT]]></title><description><![CDATA[<p>Lies mal das <a href="http://www.drakon.ch/?id=&amp;offset=5&amp;mobile=0&amp;show_entry=77" rel="nofollow">hier</a>.<br />
Ich vermute auch, dass es an dem liegt, was MFK anspricht. Und in dem Link ist erklärt was das Problem ist und was du dagegen tun kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998699</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 24 Dec 2010 21:45:49 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Fri, 24 Dec 2010 23:57:08 GMT]]></title><description><![CDATA[<p>Kenn ich. Und einbinden tut sichs auch nicht da am Anfang und Ende immer (bei .h's) steht:</p>
<pre><code class="language-cpp">#ifndef __NAME_DER_DATEI__
#define __NAME_DER_DATEI__
//CODE usw. ...
#endif//__NAME_DER_DATEI__
</code></pre>
<p>.</p>
<p>Und sie benötigen sich nicht gegenseitig, nur Entity braucht Material.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998731</guid><dc:creator><![CDATA[Calk]]></dc:creator><pubDate>Fri, 24 Dec 2010 23:57:08 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Sat, 25 Dec 2010 00:13:01 GMT]]></title><description><![CDATA[<p>Headerguards helfen bei dem Problem ja auch nicht.</p>
<p>Du darfst gar keine includes machen. Wenn dus nicht glaubst, dann ersetz mal die includes der Dateien mit Vorwärtsdeklarationen (beachte den verlinkten Artikel was du dann aber aber im Header stehen haben darfst).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998733</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 25 Dec 2010 00:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Sat, 25 Dec 2010 00:14:18 GMT]]></title><description><![CDATA[<p>Calk schrieb:</p>
<blockquote>
<p>Und einbinden tut sichs auch nicht da am Anfang und Ende immer (bei .h's) steht:</p>
</blockquote>
<p>Include-Guards verhindern Fehler durch zyklische Includes nicht. Sie brechen nur den Zyklus <em>irgendwo</em> auf.</p>
<p>Calk schrieb:</p>
<blockquote>
<p>Und sie benötigen sich nicht gegenseitig, nur Entity braucht Material.</p>
</blockquote>
<p>Was nicht bedeutet, dass Material nicht doch über Umwege Entity einbindet. Hast du das geprüft?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998734</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Sat, 25 Dec 2010 00:14:18 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Sat, 25 Dec 2010 09:26:19 GMT]]></title><description><![CDATA[<p>LEngine würde ich auch nicht anerkennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1998755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1998755</guid><dc:creator><![CDATA[ehrlich]]></dc:creator><pubDate>Sat, 25 Dec 2010 09:26:19 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Sun, 26 Dec 2010 17:52:14 GMT]]></title><description><![CDATA[<p>Ich glaube schon.<br />
Egal, jetzt habe ich bereits mal alles gegenseitig neu eingebunden und jetzt geht es. Danke.</p>
<p>mfg Calk</p>
<p>PS: Das andauernde Neuschreiben macht mir nix, ich hatte früher mal so nen 400mhz Laptop auf dem ich nur programmiert habe und da kannte ich die einfg-Taste nicht. Also habe ich immer alles neu geschrieben wenn ich darauf drückte, ich wollte nicht im Einfügen-Schreib-Modus weitermachen <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/1999053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1999053</guid><dc:creator><![CDATA[Calk]]></dc:creator><pubDate>Sun, 26 Dec 2010 17:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to Kompiler erkennt eigene Klasse nicht als Datentyp an on Sun, 26 Dec 2010 18:27:11 GMT]]></title><description><![CDATA[<p>Calk schrieb:</p>
<blockquote>
<p>Egal, jetzt habe ich bereits mal alles gegenseitig neu eingebunden und jetzt geht es.</p>
</blockquote>
<p>Die Lösung ist nicht, solange mit den Include-Direktiven rumzufrickeln, bis es wieder geht. Das Problem wird dich irgendwann wieder einholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1999068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1999068</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Sun, 26 Dec 2010 18:27:11 GMT</pubDate></item></channel></rss>