std :: function для функции-члена - PullRequest
32 голосов
/ 01 марта 2011
#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;
}

Я получаю ошибки в обеих вышеуказанных функциях связывания:

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

Где синтаксическая ошибка? Я использую Visual Studio 2010

1 Ответ

36 голосов
/ 01 марта 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...