Поскольку этот вопрос повторяется, параметр по умолчанию может быть предоставлен для первого аргумента в функции C ++.Итак, следующее
void foo(int a, int b=5); // good
void foo(int a=5, int b=5); // used to be an error
void foo(int a=5); // used to be an error
Тем не менее, я помню, как на ранних этапах обучения программированию это было запрещено.В какой момент это начало меняться?Какой стандарт C ++ снял это ограничение?Поскольку я занимался большей частью своего раннего программирования в Visual Studio, возможно, это даже не было проблемой стандартов, а определенным ограничением компилятора. Если да, помните ли вы, какие (приблизительно) версии компилятора имели это ограничение?