Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 来自C+的公共函数地址+;班_C++_C - Fatal编程技术网

C++ 来自C+的公共函数地址+;班

C++ 来自C+的公共函数地址+;班,c++,c,C++,C,我的应用程序需要从C++程序调用C++代码的一部分。 当我必须获得公共活动的地址时,问题就出现了。 我不知道如何从类中获取公共函数的地址。 我特别需要地址,以便可以将地址作为函数指针传递。 也欢迎任何其他绕过该解决方案的解决方案。 我试过静态铸造,但没有成功 static_cast<izot_events*>(thisizot_events)->myIzotWink() static_cast(thisizot_事件)->myIzotWink() 这将调用函数,但我对地址感

我的应用程序需要从C++程序调用C++代码的一部分。 当我必须获得公共活动的地址时,问题就出现了。
我不知道如何从类中获取公共函数的地址。
我特别需要地址,以便可以将地址作为函数指针传递。
也欢迎任何其他绕过该解决方案的解决方案。
我试过静态铸造,但没有成功

static_cast<izot_events*>(thisizot_events)->myIzotWink()
static_cast(thisizot_事件)->myIzotWink()
这将调用函数,但我对地址感兴趣。
我试过使用

static_cast<izot_events*>(thisizot_events)->myIzotWink
static_cast(thisizot_事件)->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
void*C_Create(){返回新的izot_事件();}
thisizot_events=C_Create();
static_cast(thisizot_事件)->myIzotWink//这不起作用,即我无法获取值。
static_cast(thisizot_事件)->myIzotWink()//调用时

将函数设为静态,然后可以执行&MyClass::my\u函数。你不应该做任何铸造;相反,使静态函数具有与函数指针类型匹配的正确声明。

thisizot_事件的类型是什么?我看不到它在任何地方声明。(void*)thisizot_events。以前它指向包含函数的类,但我已将其键入void*您需要使函数
静态
,然后您可以执行
&MyClass::my_函数
。你不应该做任何铸造;相反,要使静态函数具有与函数指针类型匹配的正确声明。(您实际上没有向我们显示该类型,因此我们无法更具体地说明)。void myIzotWink(void){}