CppCheck 声称一个字段未被使用 - 而它在另一个文件中

mar*_*trz 2 static-analysis qt-creator cppcheck

我创建了一个自定义类型,并将其放入 command.h

typedef struct 
{
    char name[16];
    int paramv[7];
    int paramc;
} command;
Run Code Online (Sandbox Code Playgroud)

我在许多其他文件中使用它,但不在command.*. 现在我使用 QtCreator cppcheck 插件运行 CppCheck 测试。我得到的是:

command.h:12: warning: Cppcheck: struct member 'command::name' is never used.
Run Code Online (Sandbox Code Playgroud)

当我这样做时会发生同样的警告

 cppcheck src --enable=all --suppress=missingIncludeSystem src/*
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Dan*_*äki 6

您好,我是 Cppcheck 开发人员。

您不应该直接检查标题。

此警告仅针对未包含的文件编写。如果您直接检查 command.h,则不包含 command.h,因此会写入警告。

所以删除命令中的 src/* 。该选项意味着检查文本文件、图像和 src 中的任何内容。