Как уже показано, в определении функции спецификация параметра может содержать его умалчиваемое значение. Это значение используется в том случае, если при обращении к функции соответствующий параметр опущен. При задании начальных (умалчиваемых) значений должно соблюдаться следующее соглашение. Если параметр имеет умалчиваемое значение, то все параметры, специфицированные справа от него, так же должны иметь начальные значения. Например, можно так определить функцию печати:
void print(char* name = "Номер дома: ", int value = 1) { cout << "\n" << name << value; }
В зависимости от количества и значений фактических параметров в вызовах функцию на экран будут выводиться такие сообщения:
print(); // Выводит: 'Номер дома: 1'
print ("Номар комнаты: "); // Выводит: 'Номер комнаты: 1'
print (,15); // Ошибка - можно опусхать-только параметр // начиная с конца их списка