来自C ++类的公共函数的地址

时间:2014-07-14 11:44:38

标签: c++ c

我的应用程序需要从C程序调用部分C ++代码 当我必须获得公共职能的地址时,问题就出现了 我不知道如何从班级获得公共职能的地址 我特别需要地址,以便我可以将地址作为函数指针传递 任何其他绕过解决方案的解决方案也是受欢迎的 我已经尝试过静态铸造,但它没有用。

static_cast<izot_events*>(thisizot_events)->myIzotWink()

这会调用该函数,但我对该地址感兴趣 我尝试过使用

static_cast<izot_events*>(thisizot_events)->myIzotWink

但这会返回错误 这里还有一些代码供参考。

void* C_Create() { return new izot_events(); }
thisizot_events = C_Create();
static_cast<izot_events*>(thisizot_events)->myIzotWink // This does not work i.e I cant get the value.
static_cast<izot_events*>(thisizot_events)->myIzotWink() // While this gets called

1 个答案:

答案 0 :(得分:0)

让函数变为静态,然后你可以做&amp; MyClass :: my_function。你不应该做任何演员;而是让你的静态函数具有正确的声明来匹配函数指针的类型。