<?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[Gültigkeitsbereich einer for-Schleife]]></title><description><![CDATA[<p>Hab mir gerade CButtonST angeschaut, da gibt es eine BCMenu.cpp, die hat folgenden Quellcode:</p>
<pre><code class="language-cpp">23: int num = pSubMenu-&gt;GetMenuItemCount();
24: for(int i = num-1;i&gt;=0;--i) pSubMenu-&gt;RemoveMenu(i,MF_BYPOSITION);
25: for(i = m_MenuList.GetUpperBound();i&gt;=0;i--) {
26:     if(m_MenuList[i]-&gt;nID==(UINT)pSubMenu-&gt;m_hMenu) {
27:         delete m_MenuList.GetAt(i);
28:         m_MenuList.RemoveAt(i);
29:         break;
30:     }
31: }
32: delete pSubMenu;
</code></pre>
<p>Studio 2005 meckert, dass bei der 2. for-Schleife (Zeile 25) i unbekannt ist. Studio 6 kann das gut ab und meckert nicht. Was ist denn nun richtig? Die Variable i verliert doch nach Zeile 24 ihre Gültigkeit... oder? Weitere Definitionen von i habe ich nirgendwo gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134616/gültigkeitsbereich-einer-for-schleife</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 15:47:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134616.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jan 2006 12:06:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gültigkeitsbereich einer for-Schleife on Fri, 27 Jan 2006 12:06:11 GMT]]></title><description><![CDATA[<p>Hab mir gerade CButtonST angeschaut, da gibt es eine BCMenu.cpp, die hat folgenden Quellcode:</p>
<pre><code class="language-cpp">23: int num = pSubMenu-&gt;GetMenuItemCount();
24: for(int i = num-1;i&gt;=0;--i) pSubMenu-&gt;RemoveMenu(i,MF_BYPOSITION);
25: for(i = m_MenuList.GetUpperBound();i&gt;=0;i--) {
26:     if(m_MenuList[i]-&gt;nID==(UINT)pSubMenu-&gt;m_hMenu) {
27:         delete m_MenuList.GetAt(i);
28:         m_MenuList.RemoveAt(i);
29:         break;
30:     }
31: }
32: delete pSubMenu;
</code></pre>
<p>Studio 2005 meckert, dass bei der 2. for-Schleife (Zeile 25) i unbekannt ist. Studio 6 kann das gut ab und meckert nicht. Was ist denn nun richtig? Die Variable i verliert doch nach Zeile 24 ihre Gültigkeit... oder? Weitere Definitionen von i habe ich nirgendwo gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977814</guid><dc:creator><![CDATA[NullAhnung]]></dc:creator><pubDate>Fri, 27 Jan 2006 12:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeitsbereich einer for-Schleife on Fri, 27 Jan 2006 12:08:16 GMT]]></title><description><![CDATA[<p>Früher galt, dass in for-Schleifen deklarierte Variablen ins darüberliegende Scope gehören (so wie VS6 das macht), heute gilt, dass sie nur innerhalb der for-Schleife sichtbar sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977818</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 27 Jan 2006 12:08:16 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeitsbereich einer for-Schleife on Fri, 27 Jan 2006 12:35:15 GMT]]></title><description><![CDATA[<p>Hi,</p>
<pre><code>for(i = m_MenuList.GetUpperBound();i&gt;=0;i--)
</code></pre>
<p>is doch klar...</p>
<pre><code>for([b]int i[/b] = m_MenuList.GetUpperBound();i&gt;=0;i--)
</code></pre>
<p>die leibe syntax <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/977860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977860</guid><dc:creator><![CDATA[Cyriz]]></dc:creator><pubDate>Fri, 27 Jan 2006 12:35:15 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeitsbereich einer for-Schleife on Fri, 27 Jan 2006 12:51:32 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Früher galt, dass in for-Schleifen deklarierte Variablen ins darüberliegende Scope gehören (so wie VS6 das macht), heute gilt, dass sie nur innerhalb der for-Schleife sichtbar sind.</p>
</blockquote>
<p>Das ist mir neu! <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="😕"
    /> Mir ist neu, dass es mal anders war, als heute - sprich innerhalb des Scopes gültig. Ok, das erklärt einiges...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/977883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977883</guid><dc:creator><![CDATA[NullAhnung]]></dc:creator><pubDate>Fri, 27 Jan 2006 12:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeitsbereich einer for-Schleife on Fri, 27 Jan 2006 13:05:18 GMT]]></title><description><![CDATA[<p>der skopus von variablen wie for(int i) ist immer nur in der Schleife.<br />
War das mal anders?<br />
Das macht doch durchaus auch sinn, da sonst alles ambig wird.<br />
und du sagst es doch selbst,</p>
<blockquote>
<p>Die Variable i verliert doch nach Zeile 24 ihre Gültigkeit... oder?</p>
</blockquote>
<p>genau deswegen ist sie bei der zweiten for schleife auch unbekannt und muss mit int neu definiert werden.</p>
<p>mein Grundsatz<br />
Da wo du es definierst gilt es!</p>
<p>Zumal es sehr verwirrend wird wenn man den Quelltext durchsieht. Und was wenn du auf ein anderes System umsteigst, andere Compiler benutzt... Probleme über Probleme. Sind ja nur drei zeichen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/977907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/977907</guid><dc:creator><![CDATA[Cyriz]]></dc:creator><pubDate>Fri, 27 Jan 2006 13:05:18 GMT</pubDate></item></channel></rss>