У меня есть функция-член с переменным числом параметров, хранящаяся в std::function
, и я хочу связать экземпляр и получить независимый объект функции.
template <class T, class R, class... Args>
void connect(const T& t, std::function<R(const T&, Args...)> f) {
std::function<R(Args...)> = /* bind the instance c into the function? */
}
// ...
Class c;
connect(c, &Class::foo);
Для фиксированного числа аргументов я бы использовал std::bind
, но я не вижу, как это сделать для переменных параметров.