Ciao ... Sinceramente non capisco il perché del tuo codice e nemmeno cosa intendiquando parli della "dimensione della funzione" ... Comunque un puntatore a funzione non puo essere utilizzato per creare una nuova funzione (come i puntatori con gli array), ma soltanto per memorizzare indirizzi di funzioni "preesistenti" e per richiamare una funzione attraverso lo stesso puntatore a funzione ...
codice:
float sum( float a, float b )
{
return a + b;
}
float diff( float a, float b )
{
return a - b;
}
int round( float a )
{
return (int)a;
}
....
float (*Func)(floar,float) = sum;
Func(1.0f, 2.0f);
Func = diff;
Func(2.0f, 1.0f);
Func = round; //Errore
....
Nota anche che la firma del puntatore deve essere identica a quella della funzione a cui deve puntare ...