Во-первых, и, кстати, вы передаете карту на постоянное значение , что бессмысленно и, вероятно, не то, что вы действительно хотите.Возможно, вы захотите пройти по константной ссылке , чтобы не создавать копию карты и убедиться, что ваша функция не изменяет карту.
Теперь, есливы хотите, чтобы ваш параметр по умолчанию был пустой картой, вы делаете это, создавая его так:
Foo::Foo( int arg1, int arg2, const std::map<std::string, std::string>& = std::map<std::string, std::string>())