<?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[Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27;]]></title><description><![CDATA[<p>Ich versuche gerade ein Programm zu schreiben was eine nur einmal existierende Klasse mittels einer statischen Funktion aufrufen kann. Dabei bekomme ich den Fehler der ganz unten nochmal steht, aber ich kann mit ihm überhaupt nix anfangen. Weiß jemand eine Lösung? Hab ich vielleicht nicht den richtigen Ansatz?</p>
<p>Header:</p>
<pre><code class="language-cpp">class Bla {
	public:
		Bla();
		~Bla();

		static Bla getSingleton(void);
		static Bla* getSingletonPtr(void);

	private:
		static Bla* SingletonPtr;
};
</code></pre>
<p>.cpp</p>
<pre><code class="language-cpp">Bla Bla::getSingleton() {
	return *(Bla::SingletonPtr);
}

Bla* Bla::getSingletonPtr() {
	return Bla::SingletonPtr;
}
</code></pre>
<p>Funktion die das ganze aufruft:</p>
<pre><code class="language-cpp">void GiveMeSingleton() {
		Bla* Prt= Bla::getSingletonPtr;
	}
</code></pre>
<pre><code>error: cannot convert 'Game* (*)()' to 'Game*' in initialization
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/229484/cannot-convert-bla-to-bla</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 20:15:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229484.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Dec 2008 12:48:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27; on Fri, 12 Dec 2008 12:48:02 GMT]]></title><description><![CDATA[<p>Ich versuche gerade ein Programm zu schreiben was eine nur einmal existierende Klasse mittels einer statischen Funktion aufrufen kann. Dabei bekomme ich den Fehler der ganz unten nochmal steht, aber ich kann mit ihm überhaupt nix anfangen. Weiß jemand eine Lösung? Hab ich vielleicht nicht den richtigen Ansatz?</p>
<p>Header:</p>
<pre><code class="language-cpp">class Bla {
	public:
		Bla();
		~Bla();

		static Bla getSingleton(void);
		static Bla* getSingletonPtr(void);

	private:
		static Bla* SingletonPtr;
};
</code></pre>
<p>.cpp</p>
<pre><code class="language-cpp">Bla Bla::getSingleton() {
	return *(Bla::SingletonPtr);
}

Bla* Bla::getSingletonPtr() {
	return Bla::SingletonPtr;
}
</code></pre>
<p>Funktion die das ganze aufruft:</p>
<pre><code class="language-cpp">void GiveMeSingleton() {
		Bla* Prt= Bla::getSingletonPtr;
	}
</code></pre>
<pre><code>error: cannot convert 'Game* (*)()' to 'Game*' in initialization
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1629436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629436</guid><dc:creator><![CDATA[Slowmo]]></dc:creator><pubDate>Fri, 12 Dec 2008 12:48:02 GMT</pubDate></item><item><title><![CDATA[Reply to Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27; on Fri, 12 Dec 2008 12:50:26 GMT]]></title><description><![CDATA[<p>Du hast die Klammern beim Funktionsaufruf vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629438</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 12 Dec 2008 12:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27; on Fri, 12 Dec 2008 13:15:01 GMT]]></title><description><![CDATA[<p>Manchmal zweifel ich echt an meiner Intelligenz ...<br />
Das hat jetzt zumindest diesen Fehler gelöst, doch leider bekomme ich jetzt undefined references:</p>
<pre><code>undefined reference to `Bla::SingletonPtr'
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1629469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629469</guid><dc:creator><![CDATA[Slowmo]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:15:01 GMT</pubDate></item><item><title><![CDATA[Reply to Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27; on Fri, 12 Dec 2008 13:22:50 GMT]]></title><description><![CDATA[<p>Da fehlt noch die Definition von Bla::SingletonPtr in der cpp. Das ist bei statischen Membervariablen notwendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629477</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27; on Fri, 12 Dec 2008 18:58:53 GMT]]></title><description><![CDATA[<blockquote>
<pre><code class="language-cpp">Bla Bla::getSingleton() { 
    return *(Bla::SingletonPtr); 
}
</code></pre>
</blockquote>
<p>Das ist Unfug.<br />
Ein Singleton kann man nie &quot;by value&quot; zurückgeben, da es dabei ja kopiert wird, und dadurch kein Singleton mehr ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629651</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 12 Dec 2008 18:58:53 GMT</pubDate></item><item><title><![CDATA[Reply to Cannot convert &#x27;Bla* (*)()&#x27; to &#x27;Bla*&#x27; on Sat, 13 Dec 2008 16:06:57 GMT]]></title><description><![CDATA[<p>Wenn du die dereferenzierte Form der Instanz haben willst, kannst du das über Referenzen lösen:</p>
<pre><code class="language-cpp">Bla&amp; Bla::getSingleton(void)
{
    return *SingletonPtr;
}
</code></pre>
<p>Das <code>Bla::</code> für die Klassenzugehörigkeit musst du bei Memberfunktionen sowieso nicht mehr angeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629976</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 13 Dec 2008 16:06:57 GMT</pubDate></item></channel></rss>