Powiel możliwe:
function overloading in CANSI C i funkcja przeciążenia
ANSI C nie przeciążania funkcji pozwalają (nie jestem pewien C99).
np
char max(char x, char y);
short max(short x, short y);
int max(int x, int y);
float max(float x, float y);
nie jest poprawny kod źródłowy ANSI C.
Którą technikę (lub pomysł) należy zastosować do problemu przeciążenia funkcji w ANSI C?
Uwaga:
Odpowiedź jest zmiana nazwy funkcji, lecz wzór powinien być stosowany do zmiany nazwy, czyli nazwy funkcji pozostają „dobra nazwa funkcji”?
na przykład:
char max1(char x, char y);
short max2(short x, short y);
int max3(int x, int y);
float max4(float x, float y);
nie jest dobry nazywania dla max
nazwa funkcji.
Może zdefiniować makro 'max'? ;-) –
@DidierTrosset: max to tylko przykład, obraz bardzo złożonej funkcji. –
Jeśli funkcja przeciążania jest dla ciebie ważna, to może powinieneś rozważyć użycie C++ zamiast C? –