问题描述
cppcheck 版本:2.3
1.扫描以下代码(rsvd.c)
typedef struct {
int a;
// cppcheck-suppress unusedStructMember
int b;
int c;
} test;
int main()
{
test A;
A.a = 5;
return 0;
}
运行cppcheck --inline-suppr --enable=all rsvd.c
结果如下(如预期):
正在检查 rsvd.c ...
rsvd.c:7:9: style: struct member 'test::c' 从未使用过。 [未使用的结构成员]
int c;
rsvd.c:14:9:样式:变量“A.a”被分配了一个从未使用过的值。 [未读变量]
A.a = 5;
2.扫描以下二维码
typedef struct {
int a;
int b;
int c;
} test;
int main()
{
test A = {1,2,3};
return 0;
}
结果如下(非预期):
正在检查 rsvd.c ...
rsvd.c:3:9: style: struct member 'test::a' 从未使用过。 [未使用的结构成员]
int a;
rsvd.c:4:9: style: struct member 'test::b' 从未使用过。 [未使用的结构成员]
int b;
rsvd.c:5:9: style: struct member 'test::c' 从未使用过。 [未使用的结构成员]
int c;
rsvd.c:11:12:样式:变量“A”被分配了一个从未使用过的值。 [未读变量]
测试 A = {1,3};
在前面的代码中,已经给结构体成员变量赋值了。这是该工具的误报。我怎么解决这个问题?非常感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)