Формально вы можете указать аргумент по умолчанию, где хотите, но вы можете сделать это только один раз для параметра. Даже если значение одинаково, оно должно быть указано либо в объявлении функции, либо в определении, но не в обоих.
Конечно, если объявление находится в заголовочном файле (а определение в файле реализации), здравый смысл говорит, что аргумент по умолчанию должен быть указан в заголовочном файле, чтобы все единицы перевода могли «видеть» это.