fork download
  1. #ifndef MAIN
  2.  
  3. #define MAIN
  4.  
  5. #include <iostream>
  6. using namespace std;
  7.  
  8. #define D 1
  9. #include __FILE__
  10. #undef D
  11.  
  12. #define D 2
  13. #include __FILE__
  14. #undef D
  15.  
  16. int main()
  17. {
  18. cout << add1(10) << ' ' << add2(10) << endl;
  19. return 0;
  20. }
  21.  
  22. #else
  23.  
  24. #define ADD0(d) add##d
  25. #define ADD(d) ADD0(d)
  26.  
  27. int ADD(D)(int x)
  28. {
  29. return x + D;
  30. }
  31.  
  32. #undef ADD0
  33. #undef ADD
  34.  
  35. #endif
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
11 12