fork download
  1. template<typename T>
  2. class F {
  3. T f;
  4. public:
  5. F(T t) : f(t)
  6. {}
  7.  
  8. T& operator()(){
  9. return f;
  10. }
  11. };
  12.  
  13. #define DECLARE_F(VARIABLE, LAMBDA) \
  14.   auto lambda = LAMBDA; \
  15.   F<decltype(lambda)> VARIABLE(lambda)
  16.  
  17. int main()
  18. {
  19. int x = 5;
  20. DECLARE_F(f, [x](int a, int b){return a+b;});
  21. return 0;
  22. }
  23.  
Success #stdin #stdout 0s 3408KB
stdin
Standard input is empty
stdout
Standard output is empty