CPallini
[обновлено, спасибо Ричард]
Аргументы C++ по умолчанию[^] должно быть указано любой в функции (или методе) декларативные заявления или в функции (или методе) определения.
Указав его в как декларация, так и определение быть ошибкой.
Предпочтительным подходом является указание его только в функции (или методе) декларативные заявления.
Например
// function declarations
int my_add( int a, int b = 5);
int my_sub( int a, int b = -1);
// ..
// function definitions
int my_add( int a, int b = 5) //<- WRONG, default parameter repeated in function definition
{
return (a + b);
}
int my_sub( int a, int b) //<- fine
{
return (a -b);
}
[/обновление]