<?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[Kann Pointer auf ein Objekt in einer anderen Klasse nicht erstellen]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich habe die Klasse &quot;ScrollableListElement&quot; und die soll einen static Pointer auf ein Objekt der Klasse &quot;MainMenu&quot; haben. Er sagt mir aber immer <em>C++ forbids declaration of 'MainMenu' with no type</em>. &quot;MainMenu&quot; habe ich aber bei den includes eingebunden, ich weiß echt nicht wo da der Fehler ist:</p>
<p>ScrollableListElement.h:</p>
<pre><code class="language-cpp">#ifndef SCROLLABLE_LIST_ELEMENT_H
#define SCROLLABLE_LIST_ELEMENT_H

#include &lt;string&gt;
#include &lt;pspgu.h&gt;
#include &lt;pspgum.h&gt;

#include &quot;Renderer.h&quot;
#include &quot;Controllable.h&quot;
#include &quot;GuiObject.h&quot;
#include &quot;fontloader.h&quot;
#include &quot;MainMenu.h&quot;

class ScrollableListElement : public Controllable, public GuiObject {

private:
	// [...]

	static MainMenu *mm;  // Hier meckert er
	static Controls *ch;

	// [...]
};
</code></pre>
<p>Was mach ich denn da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232102/kann-pointer-auf-ein-objekt-in-einer-anderen-klasse-nicht-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 12:29:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232102.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Jan 2009 16:07:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kann Pointer auf ein Objekt in einer anderen Klasse nicht erstellen on Mon, 19 Jan 2009 16:07:57 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich habe die Klasse &quot;ScrollableListElement&quot; und die soll einen static Pointer auf ein Objekt der Klasse &quot;MainMenu&quot; haben. Er sagt mir aber immer <em>C++ forbids declaration of 'MainMenu' with no type</em>. &quot;MainMenu&quot; habe ich aber bei den includes eingebunden, ich weiß echt nicht wo da der Fehler ist:</p>
<p>ScrollableListElement.h:</p>
<pre><code class="language-cpp">#ifndef SCROLLABLE_LIST_ELEMENT_H
#define SCROLLABLE_LIST_ELEMENT_H

#include &lt;string&gt;
#include &lt;pspgu.h&gt;
#include &lt;pspgum.h&gt;

#include &quot;Renderer.h&quot;
#include &quot;Controllable.h&quot;
#include &quot;GuiObject.h&quot;
#include &quot;fontloader.h&quot;
#include &quot;MainMenu.h&quot;

class ScrollableListElement : public Controllable, public GuiObject {

private:
	// [...]

	static MainMenu *mm;  // Hier meckert er
	static Controls *ch;

	// [...]
};
</code></pre>
<p>Was mach ich denn da falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648317</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Mon, 19 Jan 2009 16:07:57 GMT</pubDate></item><item><title><![CDATA[Reply to Kann Pointer auf ein Objekt in einer anderen Klasse nicht erstellen on Mon, 19 Jan 2009 17:59:00 GMT]]></title><description><![CDATA[<p>Wenn in MainMenu.h wirklich 'MainMenu' deklariert ist (und keinen eigenen Namespace benutzt), dann sollte es keinen Fehler geben - so könnte man einfach denken...</p>
<p>Ich tippe darauf, daß du eine Cross-Reference erzeugt hast, d.h. die beiden Header-Dateien 'ScrollableListElement.h' und 'MainMenu.h' inkludieren sich gegenseitig - und das führt dann zu 'merkwürdigen' Fehlermeldungen.</p>
<p>Um dem zu entgehen, benutzt man Vorwärtsreferenzen (Forward references) - einfach mal danach im Forum oder Internet suchen.</p>
<p>Hier also die Lösung für dein Problem:</p>
<pre><code class="language-cpp">class MainMenu; // und #include &quot;MainMenu.h&quot; nicht mehr verwenden
</code></pre>
<p>Nur in der Implementationsdatei (ScrollableListElement.cpp) mußt du dann die vollständige Deklaration von MainMenu kennen, d.h. &quot;MainMenu.h&quot; inkludieren.</p>
<p>P.S: Es scheint aber kein gutes Klassendesign zu sein, daß du innerhalb eines Controls eine statische Instanz eines Menüs einbindest -&gt; aber auch das wirst du sicherlich noch lernen -)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648384</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Mon, 19 Jan 2009 17:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kann Pointer auf ein Objekt in einer anderen Klasse nicht erstellen on Mon, 19 Jan 2009 18:33:39 GMT]]></title><description><![CDATA[<p>Danke für die Antwort, und ja, es ist genau das mit der &quot;Cross-Reference&quot;. Danke auf jeden Fall, werd mich mal nach ner besseren Lösung umsehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1648413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1648413</guid><dc:creator><![CDATA[Luke-2]]></dc:creator><pubDate>Mon, 19 Jan 2009 18:33:39 GMT</pubDate></item></channel></rss>