gpt4 book ai didi

c++ - 使用类成员函数作为回调?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:57:22 28 4
gpt4 key购买 nike

我需要一个成员函数传递给第三方外部方法:

box_self_intersection_d(mycallback);

box_self_intersection_d 是第三方外部静态方法,我无法修改它。 mycallback 是我想将其传递给 box_self_intersection_d 的方法,它是一个类函数,正在访问此类中的一些成员(完全控制此类和 我的回调)

我是否可以将类成员函数用作回调而无需将它们声明为静态函数?

编辑:mycallback 的签名是(const box &boxA, const box &boxB),其中box 是来自第三类的特殊类派对提供者。

还有 signature for box_self_intersection_d

void box_self_intersection_d(RandomAccessIterator begin,RandomAccessIterator end,Callback callback)

最佳答案

如果函数box_self_intersection_d接受一个函数作为参数,而mycallback是类MyClass的一个方法,你可以使用升压::绑定(bind):

box_self_intersection_d( boost::bind( &MyClass::mycallback, myClassInstance ) );

其中 myClassInstance 是类 MyClass 的实例。

关于c++ - 使用类成员函数作为回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885713/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com