У вас есть правильный способ сделать указатель на функцию в вашем struct
(спасибо за это, так много людей ошибаются).
И все же вы поменяли местами drawFunc
и *
в определении функции, что является одной из причин, по которой компилятор жалуется. Другая причина в том, что вы используете тот же идентификатор, что и тип, и переменную. Вы должны выбрать разные идентификаторы для двух разных вещей.
Используйте это вместо:
void glesRegisterDrawFunction(glesContext *cntxt, void(*drawFunc)(glesContext*));
^^^^^^^^^
note here