33 votes

std :: fonction à fonction membre

 #include <functional>

struct A
{
    int func(int x, int y)
    {
        return x+y;
    }
};

int main()
{

    typedef std::function<int(int, int) > Funcp;
    A a;
    //Funcp func = std:::bind(&A::func, &a);
    Funcp func = std::bind(&A::func, a, std::placeholders::_1);


    return 0;
}
 

Je reçois des erreurs dans les deux fonctions de liaison ci-dessus:

  error C2825: '_Fty': must be a class or namespace when followed by '::'
 

Où est l'erreur de syntaxe? J'utilise Visual Studio 2010

36voto

ltjax Points 11115

Funcp func = std::bind(&A::func, &a, std::placeholders::_1, std::placeholders::_2);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X