fork download
  1. #include <iostream>
  2.  
  3. class Fun
  4. {
  5. public:
  6. explicit Fun(int i): v_(i) {}
  7.  
  8. void operator()(int j) const
  9. {
  10. std::cout << (v_ + j) << "\n";
  11. }
  12.  
  13. private:
  14. int v_;
  15. };
  16.  
  17. int main()
  18. {
  19. int a = 1;
  20. int b = 2;
  21.  
  22. Fun(a)(b); // ERROR: conflicting declaration 'Fun a'
  23. (Fun(a))(b); // OK: prints 3
  24. return 0;
  25. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main()':
prog.cpp:22:16: error: conflicting declaration 'Fun a'
prog.cpp:19:13: error: 'a' has a previous declaration as 'int a'
stdout
Standard output is empty