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