#include <vector> struct Struct { std::vector<int> member1; std::vector<int> member2; }; void f(Struct* s) { auto& [member1, member2] = *s; member1.push_back(42); member2.push_back(42); } int main() { Struct s; f(&s); return 0; }
$ cppcheck --version Cppcheck 2.15.0 $ cppcheck --enable=all test.cpp --suppress=missingIncludeSystem --suppress=checkersReport Checking test.cpp ... test.cpp:5:22: style: struct member 'Struct::member1' is never used. [unusedStructMember] std::vector<int> member1; ^ test.cpp:6:22: style: struct member 'Struct::member2' is never used. [unusedStructMember] std::vector<int> member2; ^
This is a bit shorter and still produces the same error
struct Struct { int member1; }; int main() { Struct s {}; auto& [member1] = s; member1 = 42; return 0; }
Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/13107
Log in to post a comment.
This is a bit shorter and still produces the same error
Last edit: Samuel Poláček 2024-09-18
Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/13107