Допустим, у нас есть такой шаблон класса:
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
? Нет необходимости сохранять «дизайн» шаблона.
Что касается конкретной задачи, мне нужно спроектировать шаблон класса. Объекты этого класса могут принимать функцию и параметры для этой функции во время построения и вызывать эту функцию позже.