使用std::bind在绑定重载的方法时,需要明确指定绑定方法的类型。
#include <functional>
class Sample
{
public:
Sample() {}
int test() {}
int test(int i) {}
};
Sample sample1;
std::function<> pFun1 = std::bind((int(Sample::*)())&Sample::test
,&sample1);
std::function<> pFun2 = std::bind((int(Sample::*)(int))&Sample::test
,&sample1
,std::placeholders::_1);