Компилятор переменного тока не требует , что вы указываете прототип для функции 1 перед его использованием.Прототип просто позволяет компилятору проверить, что тип (ы) параметров, которые вы передаете, соответствуют типу (ам), который требуется для функции, - и неявным образом преобразовать в правильный тип, если он неправильный, и существует неявное преобразование.от / к задействованным типам.
Пока ваш код совершенен, и нет никакого несоответствия между тем, как вы используете функцию, и тем, как эта функция была предназначена для использования, у вас не будет проблем.В вашем тесте у вас есть функция, которая не принимает параметров и возвращает int, а код, который ее использует, по сути ничего другого не делает.Это довольно сложная ситуация, и она прекрасно работает.В реальной программе с сотнями или тысячами функций, принимающими несколько параметров сложных типов и т. Д., Ситуация меняется довольно быстро.Разрешение компилятору гарантировать, что вы вызываете функции правильно, становится намного более важным.
1 За исключением функции с переменным числом, и даже там "переменная"параметры по-прежнему в основном подчиняются тем же правилам, как если бы не было прототипа для функции.