如何将f声明为指向函数的指针(指向指向整数的指针,双精度)到返回指向整数的指针?
我尝试了很多变体,包括:
(int**)(f*)(int**,double)
(**int)(f*)(int**,double)
*(int)(f*)(int**,double)
答案 0 :(得分:6)
那将是:
int**(*f)(int**,double)
根据cdecl.org表示:
声明f作为函数的指针(指向int,double的指针)返回指向int
的指针
我不相信你可以在返回类型周围放置parens,指针到函数部分的*
需要位于声明名称的左侧。
答案 1 :(得分:4)
功能签名:
int** func(int**, double);
函数指针声明:
int** (*f)(int**, double);
答案 2 :(得分:2)
答案 3 :(得分:1)
尝试
int** (*f)(int**, double);
答案 4 :(得分:1)
我读了你的描述,将它分成几部分,然后是:
int ** (*f)( int **, double)
^ ^ ^ ^
| | | |
| pointer to | |
| function | |
| | |
| pointer to |
| pointer to |
| integer |
| double
|
|
return pointer to pointer to integer
实际上这很简单。
你应该阅读 C FAQ on Declarations 它以非常简单和全面的方式解释它们。