违反MISRA C 2012规则18.8



下面的代码违反了MISRA C

typedef enum NUMBER{
LOW = 0,
HIGH = 2 }NUMBER;
int main(void){
unsigned int A[HIGH]={2U,3U};}

建议是什么?

最好的红酒

  • 规则18.8是关于使用VLA。
  • 使用枚举常量的数组不是VLA。你的代码中没有VLA。结论:你的静态分析仪坏了。

最新更新