fork(33) download
  1. #include <functional>
  2.  
  3. void third_party(int n, std::function<void(int)> f)
  4. {
  5. f(n);
  6. }
  7.  
  8. struct foo
  9. {
  10. template <typename... Args>
  11. void invoke(int n, Args&&... args)
  12. {
  13. auto bound = std::bind(&foo::invoke_impl<Args&...>, this,
  14. std::placeholders::_1, std::forward<Args>(args)...);
  15.  
  16. third_party(n, bound);
  17. }
  18.  
  19. template <typename... Args>
  20. void invoke_impl(int, Args&&...)
  21. {
  22. }
  23. };
  24.  
  25. int main()
  26. {
  27. foo f;
  28. f.invoke(1, 2);
  29. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Standard output is empty