<?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[Arrays in Classen &amp;amp; nested Funktionen]]></title><description><![CDATA[<p>1. Gibt es eine Möglichkeit, verschachtelte Funktionen in C++ zu definieren? Ich habe irgendwo mal etwas gelesen, wo behauptet wurde, dass es ginge, aber beim Versuch, es umzusetzen, hat GCC gemeckert...</p>
<p>2. Ich brauche in meiner Klasse folgendes Array:</p>
<pre><code>const int colorNr = 4;
		const int colorStep = 255 / (colorNr - 1);
		const int brightness = 64;
		const int contrast = 64;

		const unsigned char colors[colorNr] = {
			0 * colorStep,
			1 * colorStep + 30,
			2 * colorStep,
			3 * colorStep,
		};
</code></pre>
<p>Aber GCC beschwert sich immer darüber. Warum funktioniert es nicht?</p>
<p>Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212836/arrays-in-classen-amp-nested-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 12:28:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212836.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 May 2008 08:52:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Sun, 11 May 2008 08:52:59 GMT]]></title><description><![CDATA[<p>1. Gibt es eine Möglichkeit, verschachtelte Funktionen in C++ zu definieren? Ich habe irgendwo mal etwas gelesen, wo behauptet wurde, dass es ginge, aber beim Versuch, es umzusetzen, hat GCC gemeckert...</p>
<p>2. Ich brauche in meiner Klasse folgendes Array:</p>
<pre><code>const int colorNr = 4;
		const int colorStep = 255 / (colorNr - 1);
		const int brightness = 64;
		const int contrast = 64;

		const unsigned char colors[colorNr] = {
			0 * colorStep,
			1 * colorStep + 30,
			2 * colorStep,
			3 * colorStep,
		};
</code></pre>
<p>Aber GCC beschwert sich immer darüber. Warum funktioniert es nicht?</p>
<p>Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1506893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1506893</guid><dc:creator><![CDATA[QBit]]></dc:creator><pubDate>Sun, 11 May 2008 08:52:59 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Sun, 11 May 2008 08:59:23 GMT]]></title><description><![CDATA[<blockquote>
<p>1. Gibt es eine Möglichkeit, verschachtelte Funktionen in C++ zu definieren?</p>
</blockquote>
<p>Nein, das geht nicht.<br />
Es gibt einen Workaround: lokale Klasse machen, dort diese Funktion implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1506895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1506895</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Sun, 11 May 2008 08:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Sun, 11 May 2008 09:14:10 GMT]]></title><description><![CDATA[<p>@1: Es ist anzumerken, dass Funktionen einer lokalen Klasse keine verschachtelten Funktionen sind in dem Sinne, dass man darin Zugriff auf automatische Variablen der umgebenden Funktion hätte (es ist also kein Zugriff auf den äußeren Stackrahmen möglich) - man kann das je nach Anwendungsfall dadurch abmildern, indem man relevante Daten von vornherein zu Membern des Objekts der lokalen Klasse macht. Der Vorteil einer lokalen Klasse erschöpft sich - abgesehen von der Nähe der Definition zum benutzenden Code - im Prinzip darin, dass alle Member <em>no linkage</em> haben.</p>
<blockquote>
<p>Aber GCC beschwert sich immer darüber.</p>
</blockquote>
<p>worüber? Nichtstatische Member können in einer Klassendefinition nicht initialisiert werden. Dies gilt nur dann nicht, wenn es sich um konstante integrale oder Aufzählungsvariablen handelt. Das ist im Übrigen ein wiederkehrendes Thema, das in den vergangenen Tagen bereits mehrfach diskutiert wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1506901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1506901</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 11 May 2008 09:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Mon, 12 May 2008 08:05:33 GMT]]></title><description><![CDATA[<p>Danke für die Antworten!<br />
3. Wie greift man eigentlich auf Argumente einer Ellipse zu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507295</guid><dc:creator><![CDATA[QBit]]></dc:creator><pubDate>Mon, 12 May 2008 08:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Mon, 12 May 2008 08:53:41 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Was hat deine neue Frage mit dem ursprünglichen Threadthema zu tun?<br />
Ein Thema ein Thread, ein Thread ein Thema!</p>
<p>Und wenn du die SuFu benutzt wirst du sicher deine Frage selber beantworten.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507319</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 12 May 2008 08:53:41 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Mon, 12 May 2008 08:56:24 GMT]]></title><description><![CDATA[<p>QBit schrieb:</p>
<blockquote>
<pre><code>const unsigned char colors[colorNr] = {
			0 * colorStep,
			1 * colorStep + 30,
			2 * colorStep,
			3 * colorStep,
		};
</code></pre>
</blockquote>
<p>Ist mir nur gerade aufgefallen, du hast am Schluss des Arrays ein Komma zu viel. Ist vielleicht nur ein Kopierfehler, aber ich dachte, ich schreibs mal <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="😉"
    /><br />
Und die Dimension <code>colorNr</code> musst du eigentlich nicht angeben, wenn du gerade alle Elemente initialisierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1507320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1507320</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 12 May 2008 08:56:24 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Tue, 13 May 2008 18:24:30 GMT]]></title><description><![CDATA[<p>Das ist kein Kopierfehler, sogar noch nichtmal ein Fehler an sich, da es erlaubt ist, auch nach dem letzten Element ein Komma zu setzen. (Vorteilhaft für automatisch erzeugte Arrays.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508365</guid><dc:creator><![CDATA[QBit]]></dc:creator><pubDate>Tue, 13 May 2008 18:24:30 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Wed, 14 May 2008 16:43:26 GMT]]></title><description><![CDATA[<p>Sorry, dass kannte ich bisher nicht; ich dachte nicht, dass die C++ Syntax das erlauben würde, da ich mir Kommas als Trennzeichen mehrerer Werte gewohnt bin.</p>
<p>QBit schrieb:</p>
<blockquote>
<p>(Vorteilhaft für automatisch erzeugte Arrays.)</p>
</blockquote>
<p>Wie meinst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1509024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1509024</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 14 May 2008 16:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to Arrays in Classen &amp;amp; nested Funktionen on Wed, 14 May 2008 21:12:34 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>QBit schrieb:</p>
<blockquote>
<p>(Vorteilhaft für automatisch erzeugte Arrays.)</p>
</blockquote>
<p>Wie meinst du das?</p>
</blockquote>
<p>zB fuer sowas</p>
<pre><code class="language-cpp">file &lt;&lt; &quot;int array[] = {&quot;;
for(iterator i=begin(); i!=end(); ++i) {
  file &lt;&lt; *i &lt;&lt;&quot;,\n&quot;;
}
file &lt;&lt;&quot;};\n&quot;;
</code></pre>
<p>waere ohne einem erlaubten trailing , komplizierter. und komplizierter bedeutet dass man logik in generatoren einbauen muss - was nicht jeder generator anbietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1509205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1509205</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Wed, 14 May 2008 21:12:34 GMT</pubDate></item></channel></rss>