Ciao a tutti!
Ho un problema, devo implementare un integratore automatico. Ho già scritto il programma solo che non riesco a capire come passare la funzione da integrare. Se il prototipo è :
codice:
INTEGRATORE(float x, float y, float *val, float *errore,int *n, int maxit, float toll, float f(float));
Come gli passo l'equazione 1/(x^2+1)?
Io avevo rpovato a dichiararla a parte così :
codice:
float f(float x) {
float y;
y = 4/(1+ pow(x,2));
return y;
}
Ma evidentemente non va bene perchè mi da questo errore di compilazione:
codice:
error: incompatible type for argument 8 of ‘INTEGRATORE’
note: expected ‘float (*)(float)’ but argument is of type ‘float’
Come posso fare quindi a passare quella funzione?
Vi ringrazio anticipatamente per l'aiuto e la disponibilità