Mögliche Duplikate:
Funktionsüberladung in C
Unterstützt C das Überladen?
Kann jemand erklären, ob das Überladen von Funktionen in C funktioniert?
Ich habe das versucht, aber es hat nicht funktioniert:
#include <stdio.h>
int f(int val) {
printf("f int\n");
return 5;
}
int f(char *val) {
printf("f char *\n");
return 6;
}
int main() {
f(5);
f("moo");
}
Der gcc C-Compiler sagt:
overload.c:8: error: conflicting types for 'f'
overload.c:3: error: previous definition of 'f' was here
Wenn ich jedoch denselben Code in C++ kompiliere, funktioniert er.
Kann das jemand erklären?
Danke, Boda Cydo.