为什么 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。
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。