priority_queue (Operator-Überladung)



  • Hallo liebe Leute,

    ich versuche gerade eine std::priority_queue mit eigenen objekten zu erzeugen.
    Das ganze sieht bisher so aus:

    #include <queue>
    
    std::priority_queue<sEvent> a;
    
    class sEvent{
    //...
    bool operator< (const sEvent &a2);
    }
    
    bool sEvent::operator< (sEvent const &a2){
    //...
    }
    

    Mir ist klar, dass ich für sEvent den operator< überladen muss, anscheinend aber nicht so wie ich es hier versucht habe.
    gcc gibt mir:

    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_function.h:227: error: passing ‘const sEvent’ as ‘this’ argument of ‘bool sEvent::operator<(const sEvent&)’ discards qualifiers
    

    Bin sehr dankbar, falls mir jemand einen Tipp geben kann.
    gruß js



  • Hi,

    mach die Methode const und es sollte gehen.

    BR
    Vinzenz



  • super, es klappt. vielen dank


Anmelden zum Antworten