Ошибка в этой строке C-кода:
c
Copy
Edit
typedef FuncPtr (*FuncPtr)();
возникает по нескольким причинам:
Рекурсивное определение типа
В typedef-объявлении имя типа FuncPtr определяется через само себя, но на момент определения оно еще не существует. Компилятор не может понять, что означает FuncPtr внутри скобок.
Неверное использование typedef
Обычно typedef используется для создания псевдонима типа, но в данном случае он применяется к самому себе, что приводит к бесконечной рекурсии.