boost::spirit , boost::bind auf Memberfunktion



  • Moin,
    ich möchte gerne eine Action auf eine Memberfunktion ausführen lassen.
    Aber erstmal code:

    class foo{
    public:
       foo(string str);
       do_sth(char const* first, char const* last);
    };
    
    foo::foo(string str){
    
    rule<> _RULE = *blank_p >>  +print_p[bind(&foo::do_sth, this , _1, _2)]; // [1]
    
    parse(str.c_str(), _RULE ).full
    
    }
    ...
    

    Wenn do_sth eine Funktion mit nur einem Parameter ist ( z.b. bei int_p[..] ), dann funktioniert bind, halt ohne _2.
    Aber bei zwei Parametern ?!?
    Kann mit einer sagen wie das funktioniert?
    Bin mit Spirit und Bind noch nicht ganz grün bzw. ich kämpf mich gerade mit Beispielen durch die Materie, aber hab dazu noch keins gefunden.

    MFG kine ahnung



  • na evtl heute ^^ *push*


Anmelden zum Antworten