<?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[Singletonklasse will nicht so wie ich will]]></title><description><![CDATA[<p>Hallo, ich bin gerade dabei in das SDL Kalista Spiel Text zu versuchen einzubinden.<br />
Dazu gebe ich euch hier erstmal den Inhalt meiner eigenen Font.h:</p>
<pre><code class="language-cpp">#ifndef FONT_HPP
#define FONT_HPP

#include &lt;SDL/SDL_ttf.h&gt;
#include &quot;singleton.hpp&quot;
#include &quot;Game.hpp&quot;

#define g_pFont CFont::Get ()

class CFont : public TSingleton&lt;CFont&gt;
{
  public:
    CFont           ();
    ~CFont          ();
    //void  Update     ();
    void RenderText(const char *text, SDL_Rect *Rect);

  private:
    TTF_Font *font;
    SDL_Surface *text_surface;
    CSprite *m_pSprite;

};

#endif
</code></pre>
<p>Wie man sieht, ist die Klasse als Singletonklasse definiert (was ja auch Sinn macht). Wenn ich nun versuche in der Hauptschleife des Spiels auf RenderText zuzugreifen spuckt der Compiler den fehler aus, dass g_pFont nicht bekannt ist. Hier die betreffenden Zeilen aus der Game.cpp</p>
<pre><code class="language-cpp">g_pFont-&gt;RenderText(&quot;Test&quot;, m_High);
	g_pFont-&gt;RenderText(&quot;12&quot;, m_Score);
</code></pre>
<p>Mache ich da was falsch oder warum funzt das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132878/singletonklasse-will-nicht-so-wie-ich-will</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 17:05:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132878.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jan 2006 17:02:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:02:54 GMT]]></title><description><![CDATA[<p>Hallo, ich bin gerade dabei in das SDL Kalista Spiel Text zu versuchen einzubinden.<br />
Dazu gebe ich euch hier erstmal den Inhalt meiner eigenen Font.h:</p>
<pre><code class="language-cpp">#ifndef FONT_HPP
#define FONT_HPP

#include &lt;SDL/SDL_ttf.h&gt;
#include &quot;singleton.hpp&quot;
#include &quot;Game.hpp&quot;

#define g_pFont CFont::Get ()

class CFont : public TSingleton&lt;CFont&gt;
{
  public:
    CFont           ();
    ~CFont          ();
    //void  Update     ();
    void RenderText(const char *text, SDL_Rect *Rect);

  private:
    TTF_Font *font;
    SDL_Surface *text_surface;
    CSprite *m_pSprite;

};

#endif
</code></pre>
<p>Wie man sieht, ist die Klasse als Singletonklasse definiert (was ja auch Sinn macht). Wenn ich nun versuche in der Hauptschleife des Spiels auf RenderText zuzugreifen spuckt der Compiler den fehler aus, dass g_pFont nicht bekannt ist. Hier die betreffenden Zeilen aus der Game.cpp</p>
<pre><code class="language-cpp">g_pFont-&gt;RenderText(&quot;Test&quot;, m_High);
	g_pFont-&gt;RenderText(&quot;12&quot;, m_Score);
</code></pre>
<p>Mache ich da was falsch oder warum funzt das nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965837</guid><dc:creator><![CDATA[Roger B.]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:11:59 GMT]]></title><description><![CDATA[<p>Stammt TSingleton von dir (dann poste bitte den Code) oder gibt es diese Klasse bereits (dann poste doch bitte, welches Framework du dafür verwendest)?</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965852</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:11:59 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:24:24 GMT]]></title><description><![CDATA[<p>Kann die Basis einer Klasse ein Template sein welches zur vollständigen Instantiierung die Definition der Klasse selbst benötigt? (Die Frage ist allgemein gehalten, keine Kritik an dem Code)</p>
<p>Zum eigentlichen Problem wäre es zuallererst mal schön wenn du &quot;funzt nicht&quot; mal definieren könntest! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/965859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965859</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:24:24 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:26:40 GMT]]></title><description><![CDATA[<p>Er hat ja geschrieben, dass g_pFont nicht bekannt sei. Das deutet ja eigentlich nur auf ein fehlendes include hin.<br />
Ich würde solche defines aber eher vermeiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965861</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:26:40 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:29:46 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Stammt TSingleton von dir (dann poste bitte den Code) oder gibt es diese Klasse bereits (dann poste doch bitte, welches Framework du dafür verwendest)?<br />
MfG SideWinder</p>
</blockquote>
<p>Die Klasse TSingleton stammt nicht von mir und wird auch schon mit anderen Klassen (z.B. Framework) erfolgreich verwendet.</p>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Kann die Basis einer Klasse ein Template sein welches zur vollständigen Instantiierung die Definition der Klasse selbst benötigt? (Die Frage ist allgemein gehalten, keine Kritik an dem Code)</p>
<p>Zum eigentlichen Problem wäre es zuallererst mal schön wenn du &quot;funzt nicht&quot; mal definieren könntest! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
</blockquote>
<p>Ich habe doch bereits geschrieben, dass der Compiler mir sagt, dass es g_pFont nicht gibt, obwohl g_pFont sozusagen ein Singleton der Klasse CFont ist. Daher müsste normalerweise g_pFont vom Compiler korrekt erkannt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965864</guid><dc:creator><![CDATA[Roger B.]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:29:46 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:31:57 GMT]]></title><description><![CDATA[<p>Nunja die genaue Compilermeldung lässt oft noch zusätzliche Schlüsse zu <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>Zu meiner eigenen Frage: Ja, geht, wenn in der Templateklasse ein Forward der Ableitung existiert (was ja implizit durch den Templateparameter der Fall ist). Man lernt nie aus <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/965866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965866</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:31:57 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:36:23 GMT]]></title><description><![CDATA[<p>Die genau Compilermeldung ist:</p>
<pre><code>Game.cpp: In member function `void CGame::Run()':
Game.cpp:136: error: `g_pFont' undeclared (first use this function)
Game.cpp:136: error: (Each undeclared identifier is reported only once for each function it appears in.)

make.exe: *** [Game.o] Error 1

Ausführung beendet
</code></pre>
<p>Jetzt weisst du genau so viel wie vorher oder?? :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965872</guid><dc:creator><![CDATA[Roger B.]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:39:21 GMT]]></title><description><![CDATA[<p>Ich kann aber Braunsteins Vermutung konkretisieren bzw. bestätigen dass wohl die Definition von g_pFont selbst fehlt. Was eigentlich nur heissen kann, dass dem Compiler zu dem Zeitpunkt des Auftauchens das #define nicht bekannt ist <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>
<p>Includest Du die font.h direkt ins Hauptprogramm wo Du das Teil benutzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965874</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:39:21 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:41:24 GMT]]></title><description><![CDATA[<p>Naja zumindest kann mann jetzt sagen dass du font.hpp nicht in Game.cpp eingebunden hast was Braunstein übrigens schon längst gesagt hat.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965877</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:41:24 GMT</pubDate></item><item><title><![CDATA[Reply to Singletonklasse will nicht so wie ich will on Fri, 13 Jan 2006 17:42:02 GMT]]></title><description><![CDATA[<p>Ich wusste das ich was vergessen habe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> Sorry und thx jetzt gehts ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965878</guid><dc:creator><![CDATA[Roger B.]]></dc:creator><pubDate>Fri, 13 Jan 2006 17:42:02 GMT</pubDate></item></channel></rss>