Не вдаваясь в то, зачем вам нужно значение по умолчанию, я бы предложил использовать значение по умолчанию для итератора карты (который является недействительным итератором)
typedef typename map<TYPE, TYPE2>::const_iterator map_citer;
const_iterator(map_citer param = map_citer());
//^^^^^^^^^^^
Редактировать:
Учитывая ваши изменения, кажется, что наиболее логичным в вашей ситуации будет перегрузка вашего конструктора.Имейте две перегрузки, одна из которых ничего не берет (делайте то, что вы считаете лучшим в этом конструкторе) и вашу оригинальную.Это должно сделать трюк:)
const_iterator(typename map<TYPE, TYPE2>::const_iterator);
const_iterator();