Я думал, разница в том, что объявление
не имеет типов параметров ...
Почему это работает:
int fuc();
int fuc(int i) {
printf("%d", i);
return 0;
}
но это не компилируется:
int fuc();
int fuc(float f) {
printf("%f", f);
return 0;
}
с сообщением :
ошибка: конфликтующие типы для "fuc". примечание: тип аргумента, имеющий продвижение по умолчанию, не может соответствовать объявлению списка пустых имен параметров