3 Stimmen

Funktioniert das Überladen von Funktionen in C?

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X