I'm getting a compilation error that states " 'foo' declared as function returning a function" because of a line in my program:
typedef void * (* foo)(void *)(int);
where foo is a function pointer to a function that takes a (void *) type and and int and returns a (void *) type. As I understand it, the declaration above is not returning a function, but a pointer. Is the issue with using a typedef in this situation? The only difference between this function pointer and others I've been using is the (void *) argument, so I assume the problem is related to that. I'm using gcc on a linux machine.
Thanks for the help!