我在C编码。
我有一些嵌套的函数调用,通过我传递的所有函数和void *指针数组,以便有大量的对象和双打。
变量
void
**param;
通过并在我取消引用的函数内传递。
现在,我还需要传递一个函数指针,到目前为止,最简单的方法是在param数组中使用这个函数指针。但是将函数指针强制转换为void指针是非法的。我试图传递一个指向我的函数指针的指针但是我没有将这个void *解引用到函数指针中。
你们怎么解决这个问题?
-----------------已解决------------------
由于我不允许在8小时之前回答我自己的问题,因此我编辑了我的问题:
我找到了它!
我为我的函数指针定义了一个类型
typedef double func_ptr(type1&, type2, type3);
然后使用
// declare function pointer and assign value/function
func_ptr
*func;
func = my_function;
// put pointer onto function pointer into array
void
**param;
param[2] = &func; // [ space for this has been allocated somewhere ]
取消引用然后使用
func_ptr
*func = *((func_ptr **) param[2]);
干杯