如何将一个类成员函数与param作为rvalue绑定到boost :: function? [关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个类成员函数与param作为rvalue绑定到boost :: function? [关闭]相关的知识,希望对你有一定的参考价值。

我尝试将一个类成员函数与param作为rval绑定到boost :: function。但它不起作用。我的示例错误代码:

class Class1
{
    int Foo1(int&& b)
    {
        return b;
    }   

    void foo2()
    {
        boost::function<int(int&&)> fc(boost::bind(&Class1::Foo1, this, _1) 
    }   
};
答案

使用lambda表达式:

boost::function<int(int&&)> fc = [this](int&& x)
{
    return Foo1(x);
};

以上是关于如何将一个类成员函数与param作为rvalue绑定到boost :: function? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何实现类的成员函数作为回调函数

通过rvalue传递不会破坏对象

如何将具有参数的类成员函数作为右值绑定到 boost::function? [关闭]

C++中类成员函数作为回调函数

如何将成员函数作为与 Windows 上的蓝牙相关的参数回调函数传递?

为 const 引用和 rvalue 引用编写重载