微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cppcheck 停止检查未使用的StructMember

如何解决Cppcheck 停止检查未使用的StructMember

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 举报,一经查实,本站将立刻删除。