声明一个N指针数组的数组,返回指向返回字符指针的函数的指针

时间:2012-11-19 02:01:11

标签: c++ function-pointers

丑陋的访谈问题:你如何声明一个N指针数组的数组,返回指向返回指向c ++字符指针的函数的指针?使用和不使用typedef显示它。

假设这些函数没有参数。

使用typedef是否正确?

typedef char* (*f1)();
typedef f1 (*f2)();

f2 a[N];

2 个答案:

答案 0 :(得分:1)

typedef char *(*(*foo[])())();

但我绝对同意@Xploit。不要写这个。

答案 1 :(得分:0)

返回指向字符的指针的函数:

typedef char * (*fpc)(void);

函数返回指向函数的指针,返回指向字符的指针:

typedef fpc (*fpa)(void);

函数指针函数指针返回指向函数的指针返回指向字符的指针:

fpa my_array[N];

我将非typedef版本留给OP。没有理由放弃typedef。