fork download
  1. #include <iostream>
  2. #include <optional>
  3. using namespace std;
  4.  
  5. class Foo {
  6. public:
  7. int f() { return 5; }
  8. };
  9.  
  10. class Bar : public Foo {
  11. public:
  12.  
  13. private:
  14. using Foo::f;
  15. };
  16.  
  17. int main() {
  18. std::optional<Bar> bar;
  19. cout << bar.f() << "\n";
  20. return 0;
  21. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:18:7: error: ‘optional’ is not a member of ‘std’
  std::optional<Bar> bar;
       ^~~~~~~~
prog.cpp:18:7: note: ‘std::optional’ is only available from C++17 onwards
prog.cpp:18:19: error: expected primary-expression before ‘>’ token
  std::optional<Bar> bar;
                   ^
prog.cpp:18:21: error: ‘bar’ was not declared in this scope
  std::optional<Bar> bar;
                     ^~~
prog.cpp:18:21: note: suggested alternative: ‘Bar’
  std::optional<Bar> bar;
                     ^~~
                     Bar
stdout
Standard output is empty