Я хотел бы объявить переменную типа указатель на функцию, возвращающую указатель на функцию. По существу, что делает следующее, но без каких-либо typedef
s:
typedef void (*func)();
typedef func (*funky_func)();
funky_func ptr;
Я попробовал следующее
(void (*)()) (*ptr)();
но он дает "необъявленный идентификатор" -error для ptr
(возможно, из-за совершенно различного разбора). Не будучи настолько хорошо разбирающимся в тонкостях синтаксического анализа С++, я хотел бы знать, возможно ли это, и если да, как это сделать.
(Пожалуйста, рассматривайте это совершенно искусственный сценарий ради любопытства, без каких-либо практических соображений. Я прекрасно понимаю, что на практике typedef
- путь сюда, если вообще использовать указатели на функции.)