перегрузка функции против аргумента по умолчанию в 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"
, будет ли правильный способ справиться со случаем устранения перегрузки одной функцией с аргументом по умолчанию.
Я видел постВот но это, кажется, сосредоточено на компиляции, а не путанице, которую я имею.