Но если вы передадите в функцию 3-й и 4-й аргументы, то эти значения будут рассматриваться вместо значений по умолчанию.

кнулся на некоторый код C ++, который выглядит следующим образом (упрощенно для этого поста):

(Вот прототип функции, расположенный вsomeCode.hpp)

void someFunction(const double & a, double & b, const double c = 0, const double * d = 0);

(Вот первая строка тела функции, расположенного вsomeCode.cpp это#include«ssomeCode.hpp)

void someFunction(const double & a, double & b, const double c, const double * d);

Могу ли я по закону позвонитьsomeFunction с помощью:

someFunction(*ptr1, *ptr2);

и / или

someFunction(*ptr1, *ptr2, val1, &val2);

где переменныеptr1, ptr2, val, а такжеval2 были определены соответствующим образом иval1 а такжеval2 не равны нулю? Почему или почему нет?

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

Ответы на вопрос(4)

Ваш ответ на вопрос