<?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[Function returns Function... kann man sich dagegen wehren?]]></title><description><![CDATA[<p>Aus irgendeinem Grund unterstellt mir g++, dass ich mit static Log* getLog(); eine Funktion deklariere, die eine Funktion zurückgibt. Wisst ihr warum?</p>
<p>#ifndef LOG_H_<br />
#define LOG_H_</p>
<p>#include &lt;string&gt;<br />
#include &lt;fstream&gt;</p>
<p>#define getLog Log::getLog()<br />
#define DEFAULT_FL __file__, __line__</p>
<p>using namespace std;</p>
<p>class Log {<br />
private:</p>
<p>Log(const char*);<br />
Log(Log&amp;);<br />
virtual ~Log();</p>
<p>static Log* m_plog;<br />
ofstream* m_plogfile;</p>
<p>static const short newline_char;<br />
static const char* newline;</p>
<p>public:</p>
<p>static void destroy();<br />
static Log* getLog(); //&lt;---- HIER IST DER FEHLER</p>
<p>typedef int logLevel_t;<br />
enum {DETAIL, WARNING, ERROR, CRITICAL};<br />
void write(logLevel_t, string&amp;, unsigned, const char*);</p>
<p>};</p>
<p>#endif /*LOG_H_*/</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154742/function-returns-function-kann-man-sich-dagegen-wehren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 01:34:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154742.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 30 Jul 2006 10:46:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Sun, 30 Jul 2006 10:46:42 GMT]]></title><description><![CDATA[<p>Aus irgendeinem Grund unterstellt mir g++, dass ich mit static Log* getLog(); eine Funktion deklariere, die eine Funktion zurückgibt. Wisst ihr warum?</p>
<p>#ifndef LOG_H_<br />
#define LOG_H_</p>
<p>#include &lt;string&gt;<br />
#include &lt;fstream&gt;</p>
<p>#define getLog Log::getLog()<br />
#define DEFAULT_FL __file__, __line__</p>
<p>using namespace std;</p>
<p>class Log {<br />
private:</p>
<p>Log(const char*);<br />
Log(Log&amp;);<br />
virtual ~Log();</p>
<p>static Log* m_plog;<br />
ofstream* m_plogfile;</p>
<p>static const short newline_char;<br />
static const char* newline;</p>
<p>public:</p>
<p>static void destroy();<br />
static Log* getLog(); //&lt;---- HIER IST DER FEHLER</p>
<p>typedef int logLevel_t;<br />
enum {DETAIL, WARNING, ERROR, CRITICAL};<br />
void write(logLevel_t, string&amp;, unsigned, const char*);</p>
<p>};</p>
<p>#endif /*LOG_H_*/</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107044</guid><dc:creator><![CDATA[CrazyCrow]]></dc:creator><pubDate>Sun, 30 Jul 2006 10:46:42 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Sun, 30 Jul 2006 11:02:06 GMT]]></title><description><![CDATA[<p>Könntet ihr auch bitte schreiben, wenn ihr keine Antwort kennt? Dann würde ich das als Bug reporten. Danke <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>(Sorry wegen dem Doppelpost)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107053</guid><dc:creator><![CDATA[CrazyCrow]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Sun, 30 Jul 2006 11:03:25 GMT]]></title><description><![CDATA[<p>Das liegt an deinem define. Nach dem Präprozessor sieht die Funktionsdeklaration nämlich so aus:</p>
<pre><code class="language-cpp">static Log* Log::getLog()();
</code></pre>
<p>Der Sinn deines defines erschließt sich mir allerdings nicht ganz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107054</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:03:25 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Sun, 30 Jul 2006 11:07:49 GMT]]></title><description><![CDATA[<p>Ach natürlich!!! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Danke =)... tut mir leid, irgendwie sieht man selber sowas nicht... <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="🙄"
    /><br />
Ich wollte mir damit das lästige Log::getLog() ersparen und einfach nur noch getLog-&gt; schreiben müssen... aber in Zukunft: Finger weg von defines wenn es nicht 100%ig Sinn macht <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="🙄"
    /> <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/1107056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107056</guid><dc:creator><![CDATA[CrazyCrow]]></dc:creator><pubDate>Sun, 30 Jul 2006 11:07:49 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Sun, 30 Jul 2006 12:45:54 GMT]]></title><description><![CDATA[<p>Du kannst ja getLog außerhalb von der Klasse definieren und zum Freund der Klasse machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107128</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sun, 30 Jul 2006 12:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Sun, 30 Jul 2006 16:08:37 GMT]]></title><description><![CDATA[<p>Also wenn du class das singleton machst, as ist sinnvol, zeitweilig Variable zu erklaren:</p>
<pre><code>Log* log = Log::getLog();
log-&gt;someMethod();
log-&gt;otherMethod();
</code></pre>
<p>Wenn class ist wesentlich statish ist, erklarst alle Functionen als statish, aber solchen Entscheidungen voll durchgedacht sind mussen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107241</guid><dc:creator><![CDATA[RoboTact]]></dc:creator><pubDate>Sun, 30 Jul 2006 16:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Mon, 31 Jul 2006 12:23:25 GMT]]></title><description><![CDATA[<p>Ne, man erklärt nur die Funktionen als statisch die man auch ohne Objekt ansprechen möchte. Alle anderen kann man ruhig &quot;normal&quot; deklarieren.<br />
Ich habe das Makro jetzt in LogInstance umbenannt <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="🙂"
    /><br />
Ja, speichern sollte man sie <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/1107726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107726</guid><dc:creator><![CDATA[CrazyCrow]]></dc:creator><pubDate>Mon, 31 Jul 2006 12:23:25 GMT</pubDate></item><item><title><![CDATA[Reply to Function returns Function... kann man sich dagegen wehren? on Mon, 31 Jul 2006 12:25:11 GMT]]></title><description><![CDATA[<p>Entschuldigung für den Doppelpost... aber ich bin gerade aus Versehen auf Absenden gekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-["
      alt="😞"
    /> (-.- solangsam wirds ziemlich peinlich hm ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <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="🙄"
    /> )<br />
Danke für eure Antworten und das auch noch so fix <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/1107730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107730</guid><dc:creator><![CDATA[CrazyCrow]]></dc:creator><pubDate>Mon, 31 Jul 2006 12:25:11 GMT</pubDate></item></channel></rss>