sqrt() может принимать параметры вещественных типов: float, double и long double.
Все целочисленные литералы, которые входят в диапазон типа int, имеют тип данных int по умолчанию.
Аргументы функции, могут быть явно приведены к типу параметров.
Если в функцию, в качестве аргумента, передавать целочисленный тип либо целочисленный литерал, и такая функция не имеет перегрузок, то в этом случае будет выполнено явное приведение к тому вещественному типу, который указан в для соответствующего параметра. Однако если функция перегружена так как sqrt(), то компилятор не знает какую функция следует вызывать, так как во всех трёх функциях возможно явное приведение и требует указать тип явно, например так:
f = ( -b - sqrt((double)d))/2 * a;
Добрый я
sqrt(25)