fork download
  1. #include <iostream>
  2.  
  3. #define RESULT(func, ...) Result<decltype(func(__VA_ARGS__))>
  4.  
  5. template<typename T>
  6. class Result {
  7. public:
  8. void foo() {
  9. std::cout << "bar\n";
  10. }
  11. };
  12.  
  13. int main(int argc, char **argv) {
  14. RESULT(main, argc, argv) result; // same as `Result<int> result;`
  15.  
  16. result.foo();
  17.  
  18. return 0;
  19. }
Success #stdin #stdout 0s 2928KB
stdin
Standard input is empty
stdout
bar