<?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[Switch Anweisung mit Variablen verwenden]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte gerne in einer Anwendung eine Switch Anweisung verwenden und zwar wie folgt:</p>
<pre><code>CString sFieldSeperator = &quot;\t&quot;; // MFC String

switch (buffer[0]) // Im Buffer steht irgendetwas aus einer Datei
{
  case sFieldSeperator:
    // Code
    break;

   // .
   // .
   // .
   // weiter case Blöcke
  default:
    // defualt block
    break;
}
</code></pre>
<p>Ich bekomme dann allerdings beim komplilieren folgende Fehlermeldung:<br />
case-Ausdruck ist keine Konstante</p>
<p>Gibt es keine Möglichkeit Variablen in Switch Anweisungen zu verwenden? Das ganze soll nähmlich so Variable wie möglich sein. Oder muss ich das mit verschachtelten IF Anweisungen machen?</p>
<p>Gruß Hubibi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/149475/switch-anweisung-mit-variablen-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 07:40:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/149475.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Jun 2006 12:29:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Switch Anweisung mit Variablen verwenden on Tue, 06 Jun 2006 12:29:55 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich möchte gerne in einer Anwendung eine Switch Anweisung verwenden und zwar wie folgt:</p>
<pre><code>CString sFieldSeperator = &quot;\t&quot;; // MFC String

switch (buffer[0]) // Im Buffer steht irgendetwas aus einer Datei
{
  case sFieldSeperator:
    // Code
    break;

   // .
   // .
   // .
   // weiter case Blöcke
  default:
    // defualt block
    break;
}
</code></pre>
<p>Ich bekomme dann allerdings beim komplilieren folgende Fehlermeldung:<br />
case-Ausdruck ist keine Konstante</p>
<p>Gibt es keine Möglichkeit Variablen in Switch Anweisungen zu verwenden? Das ganze soll nähmlich so Variable wie möglich sein. Oder muss ich das mit verschachtelten IF Anweisungen machen?</p>
<p>Gruß Hubibi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1072456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1072456</guid><dc:creator><![CDATA[Hubibi]]></dc:creator><pubDate>Tue, 06 Jun 2006 12:29:55 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung mit Variablen verwenden on Tue, 06 Jun 2006 12:35:05 GMT]]></title><description><![CDATA[<p>Nein, switch-case klappt wirklich nur mit Compilezeit-Konstanten (das hängt damit zusammen, WIE diese Anweisungen optimiert werden können). Für Variablen kommst du leider nicht um eine if-else-Kaskade drumherum.</p>
<p>(wobei - eine Möglichkeit gibt es noch - du stellst dir einen String aus allen Spezialchar's zusammen und suchst dir dann den Index deines Zeichens in diesem String als switch-Ausdruck)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1072461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1072461</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 06 Jun 2006 12:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to Switch Anweisung mit Variablen verwenden on Tue, 06 Jun 2006 13:05:25 GMT]]></title><description><![CDATA[<p>Außerdem sind die Datentypen nicht kompatibel: char != CString</p>
<p>Du kannst aber folgendes schreiben:</p>
<pre><code class="language-cpp">const char cFieldSeparator = '\t'; // nun konstant

switch (buffer[0]) // Im Buffer steht irgendetwas aus einer Datei
{
  case cFieldSeparator:
    // Code
}
</code></pre>
<p>Wenn du aber wirklich Strings vergleichen willst, dann geht dies nur mit &quot;if&quot;-Anweisungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1072485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1072485</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Tue, 06 Jun 2006 13:05:25 GMT</pubDate></item></channel></rss>