En algún archivo de cabecera que no puedo modificar Tengo el siguiente conjunto de define:¿Se permite el guión bajo en las etiquetas de mayúsculas y minúsculas?
#define FLAG1 (0x0000_0001)
#define FLAG2 (0x0000_0002)
...
Entonces, en mi código que ellos utilizan en el interruptor:
switch (aaa) {
case FLAG1:
....
case FLAG2:
....
}
Como resultado, informa Coverity en 2 defectos por cada etiqueta de caja:
RW.EXP_RPAREN:
Event exp_rparen: expected a ")"
RW.CASE_LABEL_CONFLICT:
Event case_label_conflict: case label value has already appeared in
this switch at line XX
¿Qué pasa con estas etiquetas de caja? ¿Viola los estándares de C?
No debería. 'caso 4 * (1 + 2):' debería ser válido también. –
¿Cuál es el guión bajo en 0x0000_0001? Eso no es válido C ... –
Si quita los guiones bajos en las constantes hexadecimales, debería estar bien. –