Я хочу написать переменную функцию, которая должна иметь 1 параметр, который не является обязательным для типа string, и вторую строку, которая является необязательной. Я прочитал спецификацию языка о функциях с переменным числом, но, учитывая множество вариантов D, я хотел бы знать, какое решение подходит для моей проблемы.
Также, как я должен использовать приведение и указатель для копирования строки, указанной void* _argptr
(тот факт, что строки неизменяемы в D, меня смущает, я думаю).
Редактировать: То, что я хочу, это что-то вроде:
string foo (string nonopt, ...) { /*code*/ }
//...
string a = "x@a.t", b = "a.t";
auto s = foo(a);
auto s2 = foo(a, b);