Скажем, у нас есть такой шаблон:
template<typename F>
class A
{
public:
template<typename... Args>
A(F f, Args... args)
{ /* Do something... */ }
};
И теперь я хочу использовать его каким-то образом, как этот:
A<int(int)> a(::close, 1);
Теперь вопрос: есть ли способ опустить <int(int)>
, потому что компилятор может знать эту информацию для ::close
? Нет необходимости сохранять "дизайн" шаблона.
Что касается конкретной задачи, мне нужно создать шаблон класса. Объекты этого класса могут использовать функцию и параметры для этой функции во время построения и позже вызвать эту функцию.