Alright, got it:
void SetMyFunction( void* newfunc )
{
myFunc = (function*)newfunc;
}
The problem was using the same name for myFunc and the default definition. To get around this I just say:
void myFunc( myStruct* ptrStruct );
and
void defaultFunc( myStruct* ptrStruct );
{
diag("\nDefault function called!");
}
then in main:
myFunc = defaultFunc
Then I'm able to set myFunc to myDesiredFunc later on.
Hope this helps someone in the future! Cheers!