Eventuali duplicati:
function overloading in CANSI C e la funzione di sovraccarico
ANSI C non consente la funzione di sovraccarico (non lo faccio sicuro di C99).
ad esempio:
char max(char x, char y);
short max(short x, short y);
int max(int x, int y);
float max(float x, float y);
non è un codice sorgente ANSI C valido.
Quale tecnica (o idea) deve essere utilizzata per il problema di sovraccarico di funzione in ANSI C?
Nota:
una risposta è rinominando le funzioni, ma quale modello deve essere utilizzato per la ridenominazione, che i nomi delle funzioni rimangono 'buon nome della funzione'?
ad esempio:
char max1(char x, char y);
short max2(short x, short y);
int max3(int x, int y);
float max4(float x, float y);
non è un buon denominazione per max
nome della funzione.
Forse definire una macro 'max'? ;-) –
@DidierTrosset: max è solo un esempio, l'immagine è una funzione molto complessa. –
Se l'overloading delle funzioni è importante per te allora forse dovresti prendere in considerazione l'uso di C++ anziché di C? –