typedef void (* MyFunctionPointer)( void * lpUserData );
void *FuncToDoSomethingInteresting(void * lpUserData)
{
void *ptr;
// Do something here involving ptr
return ptr;
}
void main(void)
{
void *anotherptr;
void *data;
MyFunctionPointer TestFunc;
TestFunc = FuncToDoSomethingInteresting;
anotherptr = TestFunc(data);
}