Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Funzioni, parametri opzionali e puntatori a funzione.
Forum - C/C++ - Funzioni, parametri opzionali e puntatori a funzione.

Avatar
xshell32 (Normal User)
Rookie


Messaggi: 34
Iscritto: 08/02/2008

Segnala al moderatore
Postato alle 21:19
Mercoledì, 03/03/2010
Ciao a tutti! Ho un dubbio riguardo i puntatori a funzione. Ho creato una funzione che ha il compito di valutare delle equazioni matematiche in un dato intervallo e con una precisione definita a priori. Le equazioni matematiche sono restituite da funzioni del tipo:

Codice sorgente - presumibilmente C/C++

  1. float funzione(float x)
  2. {
  3.      return x*x+2x-5;
  4. }



Per valutare l'equazione precedente ho usato un puntatore a funzione:

Codice sorgente - presumibilmente C/C++

  1. float val(float (*f)(float), ...)
  2. {
  3.      istruzioni;
  4. }



In questo modo, partendo da uno dei due estremi dell'intervallo della funzione che voglio valutare, calcolo i valori della variabile dipendente Y e incremento la X di volta in volta, fino a raggiungere l'altro estremo. Ora, se io invece di un'equazione ad una incognita avessi un'equazione a due incognite? Dovrei aggiungere un secondo parametro...

Codice sorgente - presumibilmente C/C++

  1. float funzione(float x, float z)
  2. {
  3.      return x*x+2x-3z-5;
  4. }



Ecco quindi il problema che mi pongo: è possibile creare una funzione C, che richiama una seconda funzione C con un puntatore a funzione, che consideri o meno uno o più parametri a seconda se la funzione richiamata ha uno o più parametri? Devo per forza creare una funzione C per valutare equazioni ad una incognita e una funzione C per quelle a due incognite?

Non sò se mi sono espresso nel modo migliore...

Grazie in anticipo per l'aiuto!

Ultima modifica effettuata da xshell32 il 03/03/2010 alle 21:28
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5460
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 7:49
Giovedì, 04/03/2010
Per non impazzire e rendere il tutto più flessibile (così da poter prevedere più argomenti), passa alla funzione una "lista" in cui inserirai i parametri che vuoi.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote