Warnung: "case label value is less than minimum value for type

OP #1887773
Lesenswert?

Die o.g. Warnmeldung irritiert mich sehr, obwohl ich kein Fehlverhalten 
des Codes feststelle konnte.

Die Warnungen betreffen folgenden Code(-Aussdchnitt)

switch(tmp_CANTX)
      {
        case -1:
        {
          //LCD_ShowErrorMessage(CAN_TX_RINGBUFFER_FULL);
          ErrorMsg.PacketType=MSG_CAN_RINGBUFFER_FULL;
          break;
        }

tmp_CANTX ist eine char variable; Negative Werte sollten also akzeptiert 
sein.
Gast #1887781
Lesenswert?

Afaik schreibt der C Standard nicht fest, ob ein pures "char" signed 
oder unsigned ist. Deshalb kann es gut sein, dass -1 außerhalb des 
Bereichs liegt und sich der Compiler zu Recht beschwert. Der Typ "char" 
sollte ausschließlich für Zeichen verwendet werden, für nichts anderes.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren