<?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[case label does not reduce to an integer constant??]]></title><description><![CDATA[<p>Hallo mal wieder.<br />
Ich steh grade wie der Ochs vorm Berg:</p>
<pre><code class="language-cpp">const int nSetFiles = //...

  const int MP_NOMPI  = nSetFiles + 1;
  const int MP_DIRECT = nSetFiles + 2;
  const int MP_DATA   = nSetFiles + 3;

//...

  switch (f) {
  case MP_DATA: file_name += &quot;data.root&quot;; break; //Zeile 69
  case MP_NOMPI: file_name += pytFileName(pVersion, nompiSet, nompiParam.PARP81min); break;
  case MP_DIRECT: file_name += pytFileName(pVersion, dirSet, dirParam.PARP81min); break;
  default: file_name += pytFileName(pVersion, pSet, P81min + f);
  }

//...
</code></pre>
<p>Sagt der Compiler:</p>
<pre><code>####/mctune_parabola.h:69: error: case label
   does not reduce to an integer constant
####/mctune_parabola.h:70: error: case label
   does not reduce to an integer constant
####/mctune_parabola.h:71: error: case label
   does not reduce to an integer constant
</code></pre>
<p>Was soll das? <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/189108/case-label-does-not-reduce-to-an-integer-constant</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 07:51:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189108.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Aug 2007 14:47:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 14:48:11 GMT]]></title><description><![CDATA[<p>Hallo mal wieder.<br />
Ich steh grade wie der Ochs vorm Berg:</p>
<pre><code class="language-cpp">const int nSetFiles = //...

  const int MP_NOMPI  = nSetFiles + 1;
  const int MP_DIRECT = nSetFiles + 2;
  const int MP_DATA   = nSetFiles + 3;

//...

  switch (f) {
  case MP_DATA: file_name += &quot;data.root&quot;; break; //Zeile 69
  case MP_NOMPI: file_name += pytFileName(pVersion, nompiSet, nompiParam.PARP81min); break;
  case MP_DIRECT: file_name += pytFileName(pVersion, dirSet, dirParam.PARP81min); break;
  default: file_name += pytFileName(pVersion, pSet, P81min + f);
  }

//...
</code></pre>
<p>Sagt der Compiler:</p>
<pre><code>####/mctune_parabola.h:69: error: case label
   does not reduce to an integer constant
####/mctune_parabola.h:70: error: case label
   does not reduce to an integer constant
####/mctune_parabola.h:71: error: case label
   does not reduce to an integer constant
</code></pre>
<p>Was soll das? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1340888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340888</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Aug 2007 14:48:11 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 14:56:29 GMT]]></title><description><![CDATA[<p>Compilerfehler ?</p>
<p>Bei mir (gcc) tut's das tadellos...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340896</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 08 Aug 2007 14:56:29 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 15:09:16 GMT]]></title><description><![CDATA[<p>*seufz* ich hatte noch Hoffnung, dass es NICHT am Compiler liegt. Ich HASSE das Teil -.- aber Umstieg ist leider auch nicht moeglich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340906</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 15:15:15 GMT]]></title><description><![CDATA[<p>Wird nSetFiles durch einen konstanten Ausdruck initialisiert? evtl. kannst du ja noch versuchen, die Konstanten statisch zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340917</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:15:15 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 15:17:37 GMT]]></title><description><![CDATA[<p>nSetFiles wird durch eine Summe anderer Konstanten initialisiert, die aber abhaengig von Funktionsparametern aus einem globalen Array geholt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340918</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:17:37 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 15:23:46 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>nSetFiles wird durch eine Summe anderer Konstanten initialisiert, die aber abhaengig von Funktionsparametern aus einem globalen Array geholt werden.</p>
</blockquote>
<p>Dann sind diese Konstanten keine konstanten Ausdrücke (und ihr Wert kann folglich nicht bereits beim Compilieren bestimmt werden) und das ganze ist kein Compilerfehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340922</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Wed, 08 Aug 2007 15:40:25 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>...aber abhaengig von Funktionsparametern ...</p>
</blockquote>
<p><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="😮"
    /></p>
<p>OK, das ist was Anderes !<br />
Das wird mit meinem Compiler bestimmt auch nicht funktionieren.</p>
<p>Als &quot;Eselsbrücke&quot; merke ich mir immer: Kann der Compiler das Teil schon ersetzen ? =&gt; Dann geht's, sonst nicht.</p>
<p>.. und Funktionsaufrufe kann er natürlich nicht ersetzen (woher soll er wissen, mit welchen Parametern irgendwann mal ein Modul diese Funktion aufrufen wird ?).<br />
Sagen wir mal so: Wenn Du mit der Bestimmung wirklich flexibilisieren (und nicht nur Schreibarbeit sparen oder Übersichtlichkeit erzeugen) willst, machst Du dem Compiler einen Strich durch die Rechnung.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340934</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 08 Aug 2007 15:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Thu, 09 Aug 2007 06:15:52 GMT]]></title><description><![CDATA[<p>Und wenn du wirklich Wert darauf legst, daß die case-Marken von deinen Funktionsparametern abhängen, müsstest du eventuell die Berechnung invertieren:</p>
<pre><code class="language-cpp">const int nSetFiles = //...

  const int MP_NOMPI  = 1;
  const int MP_DIRECT = 2;
  const int MP_DATA   = 3;

//...

  switch (f - nSetFiles) {
  case MP_DATA:
    file_name += &quot;data.root&quot;; break;
  case MP_NOMPI:
    file_name += pytFileName(pVersion, nompiSet, nompiParam.PARP81min); break;
  case MP_DIRECT:
    file_name += pytFileName(pVersion, dirSet, dirParam.PARP81min); break;
  default:
    file_name += pytFileName(pVersion, pSet, P81min + f);
}
</code></pre>
<p>(in der Version kann der Compiler alles auswerten, was er benötigt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341187</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 09 Aug 2007 06:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Thu, 09 Aug 2007 06:24:14 GMT]]></title><description><![CDATA[<p>danke, das wird gehen. Supi <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/1341189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341189</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 09 Aug 2007 06:24:14 GMT</pubDate></item><item><title><![CDATA[Reply to case label does not reduce to an integer constant?? on Thu, 09 Aug 2007 07:01:03 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Und wenn du wirklich Wert darauf legst, daß die case-Marken von deinen Funktionsparametern abhängen, müsstest du eventuell die Berechnung invertieren:...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Coole Idee !!!</p>
<p>Ich hab' sowas zwar prinzipiell schon oft programmiert, aber noch nie als &quot;Trick, case-Marken von Funktionsparametern abhängig zu machen&quot; interpretiert !<br />
Spannend !! (s.Sig. <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>
<p>Danke,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341212</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 09 Aug 2007 07:01:03 GMT</pubDate></item></channel></rss>