<?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[cannot appear in a constant-expression]]></title><description><![CDATA[<p>Ich habe eine switch schleife erstellt, in der 2 Werte verglichen werden sollen.</p>
<pre><code>char auswahl2;
            cin &gt;&gt; auswahl2;
            switch( auswahl2 ){
            system (&quot;CLS&quot;);
    case ('a' &amp;&amp; ca == 1):
         cin.sync();
         cout &lt;&lt;&quot;Du gewinnst\n&quot;;
        system (&quot;PAUSE&quot;);
        system(&quot;CLS&quot;);
        goto top;
        //break;
    case ('a' &amp;&amp; ca == 2):
        cin.sync();
         cout &lt;&lt;&quot;Du verlierst\n&quot;;
        system (&quot;PAUSE&quot;);
        system(&quot;CLS&quot;);
        goto top;
        //break;
    case ('a' &amp;&amp; ca == 3):
        cin.sync();
         cout &lt;&lt;&quot;Unentschieden\n&quot;;
        system (&quot;PAUSE&quot;);
        system(&quot;CLS&quot;);
        goto top;
        //break;
</code></pre>
<p>Hierbei soll für den wert ca eine Zufallszahl zwischen 0 und 4 (also 1 2 oder 3) gewählt werden. und mit dem eingetippten wert 'a' verglichen werden soll.<br />
Es soll also festgestellt werden ob die Kombination so wie angezeigt besteht oder nicht. Die zufallszahl 'ca' habe ich durch die Funktion</p>
<pre><code>ca = (rand()%3)+1;
</code></pre>
<p>festgelegt, nun wird mir aber beim Compiler der Fehler 'ca'cannot appear in a constant-expression angezeigt und ich weiß nicht woher dieser kommt. <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/317865/cannot-appear-in-a-constant-expression</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 22:52:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/317865.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Jun 2013 22:36:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cannot appear in a constant-expression on Sat, 22 Jun 2013 22:36:29 GMT]]></title><description><![CDATA[<p>Ich habe eine switch schleife erstellt, in der 2 Werte verglichen werden sollen.</p>
<pre><code>char auswahl2;
            cin &gt;&gt; auswahl2;
            switch( auswahl2 ){
            system (&quot;CLS&quot;);
    case ('a' &amp;&amp; ca == 1):
         cin.sync();
         cout &lt;&lt;&quot;Du gewinnst\n&quot;;
        system (&quot;PAUSE&quot;);
        system(&quot;CLS&quot;);
        goto top;
        //break;
    case ('a' &amp;&amp; ca == 2):
        cin.sync();
         cout &lt;&lt;&quot;Du verlierst\n&quot;;
        system (&quot;PAUSE&quot;);
        system(&quot;CLS&quot;);
        goto top;
        //break;
    case ('a' &amp;&amp; ca == 3):
        cin.sync();
         cout &lt;&lt;&quot;Unentschieden\n&quot;;
        system (&quot;PAUSE&quot;);
        system(&quot;CLS&quot;);
        goto top;
        //break;
</code></pre>
<p>Hierbei soll für den wert ca eine Zufallszahl zwischen 0 und 4 (also 1 2 oder 3) gewählt werden. und mit dem eingetippten wert 'a' verglichen werden soll.<br />
Es soll also festgestellt werden ob die Kombination so wie angezeigt besteht oder nicht. Die zufallszahl 'ca' habe ich durch die Funktion</p>
<pre><code>ca = (rand()%3)+1;
</code></pre>
<p>festgelegt, nun wird mir aber beim Compiler der Fehler 'ca'cannot appear in a constant-expression angezeigt und ich weiß nicht woher dieser kommt. <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/2333445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333445</guid><dc:creator><![CDATA[GuterKlingone]]></dc:creator><pubDate>Sat, 22 Jun 2013 22:36:29 GMT</pubDate></item><item><title><![CDATA[Reply to cannot appear in a constant-expression on Sat, 22 Jun 2013 23:02:08 GMT]]></title><description><![CDATA[<p>Die Syntax ist anders.</p>
<pre><code>switch (variable){
case konstante1:
break;
case konstante2:
break;
default:
break;
}
</code></pre>
<p>variable muss etwas sein, dass sich in ein int umwandeln lassen lässt und konstante1 muss eine compile-Zeit-Konstante int-Zahl sein.<br />
In deinem Fall steht in der Konstante ca, aber ca ist nicht konstant, deshalb meckert der Compiler.</p>
<p>Btw. switch ist keine Schleife und goto ist böse und system auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333448</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Sat, 22 Jun 2013 23:02:08 GMT</pubDate></item><item><title><![CDATA[Reply to cannot appear in a constant-expression on Sun, 23 Jun 2013 14:37:41 GMT]]></title><description><![CDATA[<p>@GuterKlingone<br />
Ja, es <em>soll</em>.<br />
So geht es nur einfach nicht.</p>
<p>Irgendwas hinschreiben und hoffen dass es der Compiler dann schon richtig verstehen wird funktioniert selten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333525</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 23 Jun 2013 14:37:41 GMT</pubDate></item><item><title><![CDATA[Reply to cannot appear in a constant-expression on Sun, 23 Jun 2013 15:16:57 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>Du kannst mit dem switch case nur Konstanten vergleichen. z.B. 1, 5 oder &quot;o&quot;. Strings gehen übrigens auch nicht.</p>
<p>mfg<br />
HarteWare<br />
Edit: Ich weiß nicht was mit mir los ist, aber ich habs wieder mal nicht gecheckt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /><br />
(vielleicht mal zum Arzt? <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="😕"
    /> <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="😞"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2333538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2333538</guid><dc:creator><![CDATA[HarteWare]]></dc:creator><pubDate>Sun, 23 Jun 2013 15:16:57 GMT</pubDate></item></channel></rss>