【发布时间】:2023-03-29 23:12:01
【问题描述】:
我有一个 dlsym() 返回的 void 指针,我想调用 void 指针指向的函数。 所以我通过强制转换进行类型转换:
void *gptr = dlsym(some symbol..) ;
typedef void (*fptr)();
fptr my_fptr = static_cast<fptr>(gptr) ;
我也尝试过reinterpret_cast,但没有运气,尽管 C 转换运算符似乎可以工作..
【问题讨论】:
-
我认为将函数指针转换为 void* 原本是个坏主意。从 dlsym 返回指向函数的指针有问题吗?
标签: c++ casting function-pointers