trouble inserting a struct into a set C++

后端 未结 3 2075
南方客
南方客 2021-01-16 23:49

I am working on an A* pathfinding algorithm, but am having trouble with an error I receive when i insert a struct called node into a set. The error reads: \"Error 1 erro

3条回答
  •  花落未央
    2021-01-16 23:49

    You need to create operator<or specialize std::less for your struct. Another solution could be to use std::array:

    struct node : std::array<5,int> {
        int &f() { return data()[0]; }
        int &g() { return data()[1]; }
        int &h() { return data()[2]; }
        int &x() { return data()[3]; }
        int &y() { return data()[4]; }
    };
    

    and you will inherit operator< from it. Another benefit - you can access underlying data as array, which would simplify serializing etc.

提交回复
热议问题