объявить массив из N указателей на функции, возвращающие указатели на функции, возвращающие указатели на символы

Уродливый вопрос: Как бы вы объявили массив из N указателей на функции, возвращающие указатели на функции, возвращающие указатели на символы в c ++? Покажите это с и без typedef.

Допустим, функции не принимают параметров.

Правильно ли мое с typedef?

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

f2 a[N];

1

Решение

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

Но я определенно согласен с @Xploit здесь. Никогда не пиши это.

1

Другие решения

Функция, возвращающая указатель на символы:

typedef char * (*fpc)(void);

Функция, возвращающая указатель на функцию, возвращающую указатель на символы:

typedef fpc (*fpa)(void);

Массив указателей на функции, возвращающих указатель на функцию, возвращает указатель на символы:

fpa my_array[N];

Я оставлю версию без определения типа для OP. Там не должно быть никаких причин, чтобы изгнать typedefs.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector