Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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_Function_Callback - Fatal编程技术网

C 函数获取存储的回调函数

C 函数获取存储的回调函数,c,function,callback,C,Function,Callback,假设我有一个存储回调的变量 void* (*function)(int, double); 现在我想创建一个函数,它将返回这个回调。我不希望用户通过函数直接访问回调。这不起作用: void* (*)(int, double) getCallback(); 我的问题是:这种函数的原型是什么样子的?typedef回调类型: typedef void* (*pf)(int, double); pf getCallback(); 这还可以确保手动键入错误的签名时不会出现任何错误。好的,这方面的直

假设我有一个存储回调的变量

void* (*function)(int, double);
现在我想创建一个函数,它将返回这个回调。我不希望用户通过函数直接访问回调。这不起作用:

void* (*)(int, double) getCallback();
我的问题是:这种函数的原型是什么样子的?

typedef回调类型:

typedef void* (*pf)(int, double);

pf getCallback();

这还可以确保手动键入错误的签名时不会出现任何错误。

好的,这方面的直接语法是

void* (*getCallback())(int, double);
但使用typedef可能更好、更具可读性:

typedef void* (*CallbackFunc)(int, double);

CallbackFunc getCallback();

嗯,typedef是可以的,但是使用raw方法似乎不合适work@Melon我认为它是void**getCallbackint,double;