这个表达式是什么意思:void*(*fct)(void*(*)(void*),void*)?
我知道这个表达式是什么意思:void*(*fct)(void*(*)(void*),void*)?,c,pthreads,C,Pthreads,我知道 void *(*myFuncName)(void*) 是一个函数指针,它接受并返回void* 这是一个带2个参数的指针吗? 一个void指针返回该类型的另一个函数void*和一个void*? 我只是猜测….我的编译器都同意。这是一个语法错误。闭合圆括号比开放圆括号多 名为x的函数指针返回void*并接受两个类型为void*的参数,如下所示: void *(*x)(void *, void *); 将fct声明为指向以下函数的指针 返回一个void* expects的第一个参数是指向
void *(*myFuncName)(void*)
是一个函数指针,它接受并返回void*
这是一个带2个参数的指针吗?
一个void
指针返回该类型的另一个函数void*
和一个void*
?
我只是猜测….我的编译器都同意。这是一个语法错误。闭合圆括号比开放圆括号多
名为x
的函数指针返回void*
并接受两个类型为void*
的参数,如下所示:
void *(*x)(void *, void *);
将fct
声明为指向以下函数的指针
- 返回一个
void*
- expects的第一个参数是指向函数的指针类型,该函数需要
并返回void*
和void*
- 要求其第二个参数的类型为
void*
- 向左读:
myFuncName是一个指针。它是指向什么的指针
向右读:
myFuncName是指向一个函数的指针,该函数有两个参数,其中一个是函数指针(有一个
void*
参数并返回void*
,类似于myFuncName
),另一个是类型*void*
,返回void*
。函数返回什么
向左读:
myFuncName是一个指向函数的指针,该函数接受两个参数(见上文)并返回void*
正如所指出的,只要语法正确,我会告诉你同样的情况
致意
安德烈亚斯
fct(1)是指向返回指针(4)的函数(3*)的指针(2)
(*)函数参数是void*(*)(void*)
和void*
void*(*)(void*)
指向接受指针参数并返回指针的函数的指针
void*
a指针显然,它是一个指向函数的指针,它将函数指针作为参数(如果您将所有内容都放在正确的位置)。如果标题中的decl是实际问题,它声明了一个变量fct
,该变量是指向返回void*
的函数的指针,并带有两个参数:第一个参数是指向返回void*
的函数的指针,第二个参数是void*
参数。假设标题在接下来的几秒钟内没有改变。
void* (*fct)(void*(*)(void*), void*);
void* (*fct)(void*(*)(void*), void*)
// 44444 2111 333333333333333333333333