Как в шаблоне сделать несколько параметров для вызова без перегрузок
У меня есть шаблон примерно такого вида
struct demo {
template <class T1, class T2, class T3>
demo(T1&& tipe_1, T2&& tipe_2, T3&& tipe_3) {
// код который лень повторять
std::filesysteam::create_directories(tipe_1 / tipe_2);
// тут тоже код
}
// я бы мог сделать так но не хочу повторять много кода из шаблона, но как пример показал
template <class T1,class T3>
demo(T1&& tipe_1, T3&& tipe_3) {
// код который лень повторять
std::filesysteam::create_directories(tipe_1);
// тут тоже код
}
}
ну и собственно как я хочу вызывать этот шаблон
main () {
// так
demo(tipe_1,tipe_2,tipe_3);
// и так и что бы это было без перегрузок
demo(tipe_1,tipe_3);
}
Дополнения, сделал так, пишет ошибку невозможно преобразовать "initializer list" в demo
template <class T1, class... T2,class T3>
demo(T1&& tipe_1, T2&&... tipe_2, T3&& tipe_3) {
// код который лень повторять
std::filesysteam::create_directories(tipe_1 / tipe_2);
// тут тоже код
}