为什么 CppCheck 将静态 constexpr 成员标记为 unusedStructMember,当它稍后在结构定义中使用时

Why does CppCheck flag static constexpr members as unusedStructMember, when it is used later in the struct definition

CppCheck 将 BufLen 的定义标记为 unusedStructMember,即使它在下一行用于定义数组的长度。

(style) struct member 'TxDetails_t::BufLen' is never used. [unusedStructMember]

static struct TxDetails_t
{
    static constexpr int32_t BufLen = 128;  
    
    uint8_t buffer[BufLen];
    uint8_t* ptr;
    int32_t num_bytes;
    
} TxData;

CppCheck 报告这个是错误的,还是我有更好的方法来定义这个结构?

这确实是一个误报,在即将发布的 Cppcheck 2.7 中已修复。我可以用 2.6 重现它,但不能用最新的 head。

查看您遇到的已解决问题列表 https://trac.cppcheck.net/ticket/10485