我编写了一个简单的函数,用memset()
初始化 struct 值.这些是我用C语言写的代码.
myfile.h
typedef struct{
bool flag;
bool check;
int val_1;
int val_2;
} MY_STRUCT;
myfile.c
static MY_STRUCT mystruct;
void Test()
{
memset(&mystruct, 0, sizeof(MY_STRUCT));
}
当我运行MISRA时,我会遇到这种错误
The return value of non-void function 'memset' shall be used
我已try 使用以下方法修复此警告
(void)memset(&mystruct, 0, sizeof(MY_STRUCT));
但不幸的是,我收到了两个新的警告
Cast between types that are not both pointers or not pointers
object of pointer type 'void*' cast to unrelated type 'void'
有人建议如何在使用memset()
函数时修复此警告吗?此外,请解释,以避免今后出现此类警告.