在动态库中,有一个私有c ++函数:
static A convertToUTF8(char *s);
和A是私有类型,但是,我可以得到这个函数的地址,所以我在运行时调用如下函数:
typedef void* (myfunc*)(char *);
//assign the address of private function convertToUTF8 to my function pointer
myfunc *convertToUTF8 = (myfunc*)0x000000988;
std:string str = "string";
cahr *cstr = str.c_str();
convertToUTF8(cstr);
我发现私有函数convertToUTF8接收的参数与我传递的参数不同,因为我的函数指针的返回类型是void *而私有函数convertToUTF8的A。 如何定义具有未知返回类型的c ++函数指针