为什么Coverity标志着这个警告?

时间:2017-06-22 14:08:52

标签: c coverity

我不确定为什么静态代码分析工具Coverity标志:

CID 40172 (#1 of 1): Parse warning (PW.INCOMPATIBLE_PARAM)
1. incompatible_param: argument of type "volatile mpls_RuntimeInfo_t *" is incompatible with parameter of type "void *"

这一行:

memset(&SW_RuntimeInfo[idx],0,sizeof(mpls_RuntimeInfo_t));

在全局范围内将SW_RuntimeInfo声明为volatile static mpls_RuntimeInfo_t SW_RuntimeInfo[LABEL_T_CNT] = { 0 };时。
为什么会举起一面旗帜呢?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

它正在抛出警告,因为您将一个易失性指针传递给非易失性参数。如果你真的想让警告消失,那就把你的论点投到void *。但也许您应该重新访问您的变量是否应该是易变的,或者以不同的方式初始化它。