Подскажите, пожалуйста, как синтаксически верно переделать эту строчку:
m_instance.reset(new T(std::forward < Args > (args) ...));
с использованием std::make_unique? Как ни пробовал - пишет, что не может сопоставить аргумент шаблона для _Ty, не найдена соответствующая перегруженная функция и т.п.
template < typename ... Args >
static void construct(Args && ... args)
{
m_instance.reset(new T(std::forward < Args > (args) ...));
}
Это общий вид статической функции шаблонного класса. m_instance - это static std::unique_ptr < T >. Хочу убрать new и задать m_instance через make_uniuque, как-то так: m_instance(std::make_unique( /* а тут что ? */ )). Как писать ... для std::make_unique?
Что Вы пробовали, прежде чем задать вопрос? Ответ ведь прост:
m_instance = std::make_unique<T>(std::forward < Args > (args) ...);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей