Возможные Дубликаты:
function overloading in C
Does C support overloading ?Работает ли функция перегрузки в C?
Может кто-нибудь объяснить, если функция перегрузки работу в C?
Я попробовал это, и это не сработало:
#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");
}
ССАГПЗ C компилятор говорит:
overload.c:8: error: conflicting types for 'f'
overload.c:3: error: previous definition of 'f' was here
Однако, если я компилирую тот же код в C++, это работает.
Может ли это объяснить?
Спасибо, Бода Cydo.
Нет, C не поддерживает перегруженные функции. Эти два языка очень разные. – 2010-07-11 12:55:47
Подробнее дубликат http://stackoverflow.com/questions/2351792/does-c-support-overloading –