首页 > 解决方案 > C++ std::bind() 成员函数的参数

问题描述

我想使用std::function成员函数并通过返回值提供它。它的语法std::bind(...)是什么?

class Test{
    int move(int x){
        return x * Y;
    }
    std::function<int(int)> getFunc(){
        std::function<int(int)> tmp2 = std::bind(&Test::move, _1, this);
        return tmp2;
    }
};

标签: c++stdfunction-pointers

解决方案


应该是std::bind(&Test::move, this, _1);

Lambda 是另一种选择:

std::function<int(int)> tmp2 = [this](int i) { return move(i); };

推荐阅读