ANSI C不允許函數重載(我不知道C99)。
例如:
char max(char x, char y);
short max(short x, short y);
int max(int x, int y);
float max(float x, float y);
不是有效的ANSI C源代碼。
在ANSI C中應該使用哪種技術(或想法)來解決函數重載問題?
注意:
的答案被重命名功能,但模式應該用於重命名,該函數名稱保持「好函數名」?
例如:
char max1(char x, char y);
short max2(short x, short y);
int max3(int x, int y);
float max4(float x, float y);
不是好的命名爲功能max
名。
也許定義一個'max'宏? ;-) –
@DidierTrosset:max只是一個例子,圖像是一個非常複雜的功能。 –
如果函數重載對你很重要,那麼也許你應該考慮使用C++而不是C? –