在一些我无法修改的头文件中,我有以下一组定义:
#define FLAG1 (0x0000_0001)
#define FLAG2 (0x0000_0002)
...
然后,在我的代码中,我在 switch 中使用它们:
switch (aaa) {
case FLAG1:
....
case FLAG2:
....
}
因此,Coverity 报告每个案例标签有 2 个缺陷:
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
这些案例标签有什么问题?它是否违反 C 标准?