Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » boost::lambda und boost::bind

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.03.2006, 12:23 Uhr
(un)wissender
Niveauwart



C++:
#include <boost/lambda/lambda.hpp>
#include <boost/bind.hpp>

class uu
{
};

class tt
{
    public:
        void test(uu * obj)  {}
};

int main()
{
        tt t;
    uu u;
    uu * up= &u;
    boost::bind(&tt::test, &t, boost::lambda::_1)(up);
}



Kompliert das bei euch? Ich kriege das nicht zum laufen. Ist das den zumindest syntaktisch korrekt? VC 7.1 mag das gar nicht, aber vielleicht spinnt der ja auch.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.03.2006, 12:59 Uhr
kronos
Quotenfisch
(Operator)


Fehlermeldung?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 07.03.2006 um 13:00 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
07.03.2006, 13:04 Uhr
kronos
Quotenfisch
(Operator)



Zitat von (un)wissender:

C++:
boost::bind(&tt::test, &t, boost::lambda::_1)(up);


Die zweite Klammer sieht etwas abenteuerlich aus...
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
07.03.2006, 14:22 Uhr
(un)wissender
Niveauwart


Na ja, ist halt ein Funktionsaufruf, das passt schon.

Die Fehlermeldung willst du gar nicht sehen (1000 Zeilen).
Außerdem sagt die sowieso nichts aus. Ist halt das Problem von templates...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.03.2006, 15:01 Uhr
(un)wissender
Niveauwart


Ich habe den Fehler gefunden.
_1 (ist ein typedef) hat keinen speziellennamespace, sondern nur den globalen.
Einigermaßen seltsam, aber ist so.
Also das ist korrekt:


C++:
boost::bind(&tt::test, &t, _1)(up);


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: