C++一个类模板的成员函数调用另一个类的模板成员函数

 我来答
丙涵润佛禾
2019-09-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1万
采纳率:30%
帮助的人:680万
展开全部
使用std::bind
std::bind(&xxx::b,this, std::placeholders::_1, ....) //有一个参数要被外部传递xxx::b
类函数
this
类对象指针,也可以具体的对象指针,如xxx*
px;
传px;
std::placeholders::_1
需要被传递的参数个数
另外可以在std::bind的时候额外传递参数
如:
double xxx::c(double *para, bool su);
std::bind(&xxx::c,this, std::placeholders::_1, true) // 外部传一个参数,这里额外传一个参数
std::bind(&xxx::c,this, std::placeholders::_2) // 外部传二个参数,就不能额外传参数了
可以使用以下宏定义,出自cocos2dx
#define cc_callback_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__va_args__)
#define cc_callback_1(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, ##__va_args__)
#define cc_callback_2(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, ##__va_args__)
#define cc_callback_3(__selector__,__target__, ...) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, ##__va_args__)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式