<?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[Funktion innerhalb Funktion]]></title><description><![CDATA[<p>Hi,</p>
<p>ich wundere mich gerade. Ist es denn nicht möglich eine Funktion innerhalb einer anderen Funktion zu deklarieren und auch zu definieren? Mein Beuspiel:</p>
<pre><code class="language-cpp">void vtkQGLRenderWindowInteractor::ProcessSlotConnections(bool conn)
{
	if( ! RenderWindow )
	{
		vtkErrorMacro(&lt;&lt; &quot;vtkQGLRenderWindowInteractor::Initialize(): No render window attached!&quot;);
		return;
	}

	int summe(int a, int b)
	{                // dies ist Zeile 252
		return a+b;
	}
</code></pre>
<p>Dies gibt folgenen Fehler:<br />
[code] In member function <code>void vtkQGLRenderWindowInteractor::ProcessSlotConnections(bool)': vtkQGLRenderWindowInteractor.cc:252: error: syntax error before</code>{' token<br />
<a href="http://vtkQGLRenderWindowInteractor.cc" rel="nofollow">vtkQGLRenderWindowInteractor.cc</a>: At global scope:[quote]Das sollte doch eigentlich klappen, oder?</p>
<p>Karl</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130228/funktion-innerhalb-funktion</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 14:44:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130228.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2005 00:00:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 00:00:23 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich wundere mich gerade. Ist es denn nicht möglich eine Funktion innerhalb einer anderen Funktion zu deklarieren und auch zu definieren? Mein Beuspiel:</p>
<pre><code class="language-cpp">void vtkQGLRenderWindowInteractor::ProcessSlotConnections(bool conn)
{
	if( ! RenderWindow )
	{
		vtkErrorMacro(&lt;&lt; &quot;vtkQGLRenderWindowInteractor::Initialize(): No render window attached!&quot;);
		return;
	}

	int summe(int a, int b)
	{                // dies ist Zeile 252
		return a+b;
	}
</code></pre>
<p>Dies gibt folgenen Fehler:<br />
[code] In member function <code>void vtkQGLRenderWindowInteractor::ProcessSlotConnections(bool)': vtkQGLRenderWindowInteractor.cc:252: error: syntax error before</code>{' token<br />
<a href="http://vtkQGLRenderWindowInteractor.cc" rel="nofollow">vtkQGLRenderWindowInteractor.cc</a>: At global scope:[quote]Das sollte doch eigentlich klappen, oder?</p>
<p>Karl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946721</guid><dc:creator><![CDATA[Karl Blau]]></dc:creator><pubDate>Wed, 21 Dec 2005 00:00:23 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 00:23:09 GMT]]></title><description><![CDATA[<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946728</guid><dc:creator><![CDATA[Ja.]]></dc:creator><pubDate>Wed, 21 Dec 2005 00:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 07:56:40 GMT]]></title><description><![CDATA[<p>C++ kann keine Funktionen in Funktionen. man kann aber (wie so oft) tricksen:</p>
<pre><code class="language-cpp">void coolFunction(...)
{
  //do something cool

  struct { int operator()(int a, int b) { return a+b; } } sum;

  c=sum(1+2);
  //do something even cooler
}
</code></pre>
<p>ist aber natürlich keine _echte_ inner function, weil du keinen zugriff auf die 'parent' variablen hast. aber wenigstens passt der scope <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/946789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946789</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 21 Dec 2005 07:56:40 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 08:42:59 GMT]]></title><description><![CDATA[<p>Zugriff auf die 'parent' Variablen kann aber auch leicht ermöglicht werden:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main ()
{
	int x = 7;

    struct adder
    {
    	int a;
    	int operator()(int b){return a+b;}
    };

    adder addx = {x};
    cout &lt;&lt; addx(8) &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/946817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946817</guid><dc:creator><![CDATA[schorsch code]]></dc:creator><pubDate>Wed, 21 Dec 2005 08:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 09:18:43 GMT]]></title><description><![CDATA[<p>Ich wundere mich gerade, dass man sowas machen will.... wozu sollte sowas bei einer objektorientierten Programmierweise gut sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946837</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 21 Dec 2005 09:18:43 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 09:20:04 GMT]]></title><description><![CDATA[<p>Welchen Sinn soll das haben bzw. was willst du damit erreichen? Diese innere Funktion würde nur innerhalb der anderen Funktion sichtbar sein.</p>
<p>Was ich mir gut vorstellen kann, ist das du eher eine Art anonyme Funktion haben willst? Das würde mir eher einleuchten. Und da gibt es natürlich auch schon etwas, das sich Lambda Expression nennt und sogar (wenn ich es nicht ganz missverstanden habe) in den nächsten C++-Standard mit rein kommt.</p>
<p>Damit du das aber jetzt schon nutzen kannst, sollstes du dir Boost Lambda anschauen, das macht anonyme Funktionen möglich.<br />
<a href="http://www.boost.org/doc/html/lambda.html" rel="nofollow">http://www.boost.org/doc/html/lambda.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/946839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946839</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 21 Dec 2005 09:20:04 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 09:22:46 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<p>Ich wundere mich gerade, dass man sowas machen will.... wozu sollte sowas bei einer objektorientierten Programmierweise gut sein?</p>
</blockquote>
<p>Naja, OOP ist nicht der Weisheit letzter Schluss. Gerade C++ ist doch eine Multiparadigmensprache, in der man auch mal nicht-OO machen kann. Ich glaube nur eher, das der Fragesteller keine innere Funktion sondern eine anonyme Funktion &quot;sucht&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946840</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 21 Dec 2005 09:22:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion innerhalb Funktion on Wed, 21 Dec 2005 12:15:36 GMT]]></title><description><![CDATA[<p>Es entzieht sich meiner Kenntniss welche grundlegenden Vorteile die funktionale Programmierung gegenüber der objektorientierten Programmierung hat, die es notwendig macht diese beiden Arten miteinander ohne Zwang zu mischen.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Was mich interessieren würde ist, wie du es schafst in C++ um Funktionen und Klassen drumrumzukommen?</p>
<p>Du kannst dir abstraktions Ebenen drüberziehen, Code generieren und Aspekte programmieren, der daraus entstehende Code wird aber immer entweder funktional oder objektorientiert sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946973</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Wed, 21 Dec 2005 12:15:36 GMT</pubDate></item></channel></rss>