"Warning: multi-character character constant" in switch-Anweisung
-
Hi!
Ich habe eine ganze normale switch Anweisung:
switch(value) { case '101': break; case '102': break; }
Ich bekomme für jede case-Zeile die Warnung
**
Warning: multi-character character constant**Schreibe ich
const int hundert = 100; case hundert:
Fällt die Warnung weg.
Wovor warnt er mich? Compiler: gcc, das Visual Studio 6.0 meldet selbst auf Warning Level 4 nix.
-
Morgen,
der Compiler sagt es dir ja bereits. Du willst offentsichtlich auf einen char
pruefen. Du pruefst aber weder ein char noch ein char*. '101' ist ein multi
char character, was natuerlich nicht geht.Bei deinem anderen Code, hast du einen ganz normalen Integer. Lass die Hoch-
kommatas weg, dann funktioniert es auch so (solange die Zahl nicht groesser
127 ist, bzw. 255 bei unsigned char).mfg
v R
-
ich wollte auf int prüfen, aber du hast recht sobald die "'" weg sind ist auch die warnung weg:)
-
GutenMorgen schrieb:
ich wollte auf int prüfen, aber du hast recht sobald die "'" weg sind ist auch die warnung weg:)
Gut, wenn es sich um ints handelt, dann kannst du die Aussage
(solange die Zahl nicht groesser 127 ist, bzw. 255 bei unsigned char)
natuerlich ignorieren, da sie nicht mehr zutrifft
mfg
v R