c++里怎么把类中的函数的指针传递给另一个类?

如题所述

1、成员函数指针还需要类实例对象来参与调用,而不是仅仅一个函数指针就可以调用。因此成员函数指针和全局函数指针是不兼容的:

typedef void (T::*B)(int x, int y, int z);
B b = &T::foo;
T t;
t.*b(x, y, z); // 必须指定t

2、通过context传入到你最终的回调函数里面。

void fun(A a, B b, C c, void* context)

{
   T* t = reinterpret_cast<T*>(context);
  

t->*b(x, y, z);

T t;
B b = &T::foo;
fun(a, b, c, &t);

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网