您的位置:首页 > 其它

boost::bind 函数与类成员的区别

2012-09-23 22:26 225 查看
class CP

{

public:

int print(int a, int b)

{

printf("CP print() a=%d, b=%d");

}

};



int print(int a, int b)

{

printf("print() a=%d, b=%d");

}



CP f &rf=f;

CP* pf;

bind(print, _1, _2)(10, 20); //ok

bind(&print, _1, _2)(10, 20); //ok

bind(CP::print, f, _1, _2)(10, 20); //error

bind(&CP::print, f, _1, _2)(10, 20); //ok

bind(&CP::print, rf, _1, _2)(10, 20); //ok

bind(&CP::print, pf, _1, _2)(10, 20); //ok



error原因:

CP::print必需要& 表明这是一个成员函数指针

bind也可以绑定类的成员,用法同绑定成员函数,加&;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: