32
}
Если какому-либо параметру было назначено умолчательное значение, то все
последующие параметры также должны иметь умолчательное значение.
Пример неправильного объявления:
int somefunc(double a, double d=0.0001, int n, bool b, string
s="passed string")
{
}
1.5.1 Вызов функции
Если некоторое имя, которое не было описано ранее, появляется в выражении и за ним
следует левая круглая скобка, то оно по контексту считается именем некоторой функции.
имя_функции (x1, x2,..., xn)
Аргументы (формальные параметры) передаются по значению, т. е. каждое выражение xl, . . . ,
xn вычисляется и значение передается функции. Порядок вычисления выражений и
порядок загрузки значений гарантируются. Во время выполнения производится проверка
числа и типа аргументов, переданных функции. Такой способ обращения к функции
называется вызовом по значению. Вызов функции - это выражение, значением которого
является значение, возвращаемое функцией. Описанный тип функции должен
соответствовать типу возвращаемого значения. Функция может быть объявлена или
описана в любом месте программы на глобальном уровне, то есть, вне других функций.
Функция не может быть объявлена или описана внутри другой функции.
Примеры:
int start()
{
double some_array[4]={0.3, 1.4, 2.5, 3.6};
double a=linfunc(some_array, 10.5, 8);
//...
}
double linfunc(double x[], double a, double b)
{
return (a*x[0] + b);
}