- #include <functional> 
- #include <iostream> 
-   
- template <typename ...ARGS> 
- std::function<void(ARGS...)> wrapper(std::function<void(ARGS...)> f){ 
-     return [f](ARGS... arg){ 
-         f(arg...); 
-     }; 
- } 
-   
-   
- int main() 
- {	 
- 	std::function <void(int,int,char)> f = [](int a ,int b ,char c ) -> void { std::cout << "111"; }; 
- 	auto t = wrapper(f); 
- 	t(1,2,3); 
- 	return 0; 
- } 
				I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCnRlbXBsYXRlIDx0eXBlbmFtZSAuLi5BUkdTPgpzdGQ6OmZ1bmN0aW9uPHZvaWQoQVJHUy4uLik+IHdyYXBwZXIoc3RkOjpmdW5jdGlvbjx2b2lkKEFSR1MuLi4pPiBmKXsKICAgIHJldHVybiBbZl0oQVJHUy4uLiBhcmcpewogICAgICAgIGYoYXJnLi4uKTsKICAgIH07Cn0KCgppbnQgbWFpbigpCnsJCglzdGQ6OmZ1bmN0aW9uIDx2b2lkKGludCxpbnQsY2hhcik+IGYgPSBbXShpbnQgYSAsaW50IGIgLGNoYXIgYyApIC0+IHZvaWQgeyBzdGQ6OmNvdXQgPDwgIjExMSI7IH07CglhdXRvIHQgPSB3cmFwcGVyKGYpOwoJdCgxLDIsMyk7CglyZXR1cm4gMDsKfQ==