AB
Size: a a a
AB
D
int foo(const string& str) { ... }
template <typename F, typename... Args>
decltype(auto) call_fn(F f, Args... args) {
return std::invoke
(f, args...);
}
call_fn(&foo, 4);
AB
d
SH
SH
SH
d
d
АВ
SH
d
d
SH
SH
d
АВ
std::forward<Args>(args)...
- то и в Foo аргументы должны &&
АВ
d
template <class Ret, class... Args>
Ret Method(Ret (*callback)(Args...), Args&&... args);
В таком коде:int foo(int, char);
Method(foo, 1, '2');
АВ