"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


Anmelden zum Antworten