В C90 вызов функции без видимого объявления создает неявное объявление функции, возвращающей int и принимающей продвинутые типы аргументов.Если ваша функция getHandle
возвращает указатель, например, тогда компилятор сгенерирует код, предполагая, что он возвращает int
.Присвоение результата объекту-указателю должно как минимум вызвать другое предупреждение.Это может работать нормально (если int и тип указателя имеют одинаковый размер, а результаты int и функции указателя возвращаются одинаково), или это может привести к ошибкам (если, например, int равно 32 битам, а указатели - 64)биты, или если результаты указателя возвращаются в адресных регистрах в стиле 68K).
Стандарт C99 удалил неявный int из языка.Вызов функции без видимого объявления является нарушением ограничения, требующим диагностики и, возможно, вызывающим отклонение вашей программы.
И если вы просто исправите проблему , вам не нужнотратить время на выяснение того, как и будет ли это работать, если вы не исправите это.