перегрузка функции против аргумента по умолчанию в c ++

Привет у меня путаница или сказать больше, мне нужно кое-что понять. У меня есть процедура и другая перегруженная процедура такая же.

    string conct (string a, string b) {
      string str = conct(a, b, "string");
      return str;
    }

    string conct (string a, string b, const char* c) {
      // do the processing;
      return concatenated_string;
    }

Возможно ли, что вместо двух перегруженных функций, если я сделаюc в перегруженной функции в качестве аргумента по умолчанию. Так что даже если кто-то передает только два аргумента, у меня может быть только одна функция для обработки этого случая.

Но моя главная проблема заключается в третьем аргументе, который в настоящее времяconst char* c, Так что, если я сделаю что-то вродеconst char* c = "string", будет ли правильный способ справиться со случаем устранения перегрузки одной функцией с аргументом по умолчанию.

Я видел постВот но это, кажется, сосредоточено на компиляции, а не путанице, которую я имею.

Ответы на вопрос(2)

Ваш ответ на вопрос