Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lect10.pdf
Скачиваний:
4
Добавлен:
06.02.2016
Размер:
223.76 Кб
Скачать

Возможные проблемы

Если две и более функций сданным именем былисопоставлены по самому приоритетному для них правилу, компилятор выдаст сообщение обошибке

Дляисправления ситуации можно использовать явное приведение фактических аргументов кнужнымтипам

Пример

void Print(int number) { printf("%d", number);

}

void Print(double number) {

printf("%.15f", number);

}

int main() {

unsigned int arg = 2;

 

Print(arg);

// ошибка

// OK

Print(static_cast<int>(arg));

return 0;

}

Значенияпараметровпо умолчанию

Некоторыефункциимогутпринимать большепараметров,чемвсамых простыхичастоиспользуемых случаях.

Длягибкогоиспользованияэтих функциймогутприменяться параметрысозначениямипо умолчанию.

Значенияпараметровпо

умолчанию

double calculate(double x, double eps = 0.001){

// Производим вычисления здесь

}

int main()

{

double x = 1.7; calculate(x); calculate(x, 0.01);

return 0;

}

Правилаописания параметровпо умолчанию

Параметры со значениями по умолчанию не могутчередоваться собычными параметрами функции

Параметры со значениями по умолчанию должныбыть последними в описании функции

Функцияможет иметь значения по умолчанию длявсех своих параметров.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]