void foo(const int *n) { }
template <typename ...Args>
void bar(void (*func)(Args...), Args... args) { func(args...); }
int main(int argc, char *argv[])
{
int n = 42;
bar(foo, static_cast<const int *>(&n));
}
dm9pZCBmb28oY29uc3QgaW50ICpuKSB7IH0KCnRlbXBsYXRlIDx0eXBlbmFtZSAuLi5BcmdzPgp2b2lkIGJhcih2b2lkICgqZnVuYykoQXJncy4uLiksIEFyZ3MuLi4gYXJncykgeyBmdW5jKGFyZ3MuLi4pOyB9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7CiAgICBpbnQgbiA9IDQyOwogICAgYmFyKGZvbywgc3RhdGljX2Nhc3Q8Y29uc3QgaW50ICo+KCZuKSk7Cn0=