fork(2) download
  1. #include <iostream>
  2. #include <functional>
  3.  
  4. template <typename nextF>
  5. class Adder {
  6. int sn;
  7. static nextF next;
  8. public:
  9. Adder(int n)
  10. : sn(n)
  11. {
  12. }
  13.  
  14. int getNext() {
  15. sn = (*next)(sn);
  16. return sn;
  17. }
  18. };
  19.  
  20. auto govnoLambda = [](int x) -> int { return x + 1;};
  21.  
  22. template <>
  23. decltype(&govnoLambda) Adder<decltype(&govnoLambda)>::next = &govnoLambda;
  24.  
  25. int main() {
  26. Adder< decltype(&govnoLambda) > ad(10);
  27. std::cout << ad.getNext();
  28. return 0;
  29. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
11