Menu

unusedStructMember FP with structured bindings

2024-09-18
2024-09-18
  • Samuel Poláček

    #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;
                         ^
    
     
  • Samuel Poláček

    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;
    }
    
     

    Last edit: Samuel Poláček 2024-09-18
  • CHR

    CHR - 2024-09-18

    Thanks for reporting, ticket is here: https://trac.cppcheck.net/ticket/13107

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.