Author
anonymous
about 6 years ago
Language
C++
Compiler
gcc HEAD 9.0.1 20190411 (experimental)
Options
Warnings
Optimization
Don't Use Boost
C++2a
no pedantic
Raw compiler options
-pedantic
-pthread
Author
anonymous
about 6 years ago
$ g++ prog.cc -Wall -Wextra -O2 -march=native -std=c++2a -pedantic -pthread
prog.cc:2:14: error: 'shared_ptr' in namespace 'std' does not name a template type
2 | typedef std::shared_ptr<node> spnode;
| ^~~~~~~~~~
prog.cc:1:1: note: 'std::shared_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'?
+++ |+#include <memory>
1 | class node;
prog.cc:3:24: error: 'hash' is not a class template
3 | template<> struct std::hash<node> { size_t operator()(const node& n) const; };
| ^~~~
prog.cc:3:35: error: qualified name does not name a class before '{' token
3 | template<> struct std::hash<node> { size_t operator()(const node& n) const; };
| ^
prog.cc:4:8: error: 'spnode' does not name a type; did you mean 'node'?
4 | extern spnode T, F;
| ^~~~~~
| node
prog.cc:6:14: error: 'unordered_map' in namespace 'std' does not name a template type
6 | static std::unordered_map<node, spnode> M; //node to its index
| ^~~~~~~~~~~~~
prog.cc:1:1: note: 'std::unordered_map' is defined in header '<unordered_map>'; did you forget to '#include <unordered_map>'?
+++ |+#include <unordered_map>
1 | class node;
prog.cc:7:2: error: 'size_t' does not name a type
7 | size_t var;
| ^~~~~~
prog.cc:1:1: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
+++ |+#include <cstddef>
1 | class node;
prog.cc:8:2: error: 'spnode' does not name a type; did you mean 'node'?
8 | spnode hi, lo;
| ^~~~~~
| node
prog.cc:10:13: error: expected ')' before 'var'
10 | node(size_t var, spnode hi, spnode lo) : var(var), hi(hi), lo(lo) {}
| ~ ^~~~
| )
prog.cc:11:2: error: 'size_t' does not name a type
11 | size_t v() const { return var; }
| ^~~~~~
prog.cc:11:2: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
prog.cc:12:8: error: 'spnode' does not name a type; did you mean 'node'?
12 | const spnode h() const { return hi; }
| ^~~~~~
| node
prog.cc:13:8: error: 'spnode' does not name a type; did you mean 'node'?
13 | const spnode l() const { return lo; }
| ^~~~~~
| node
prog.cc:23:9: error: 'spnode' does not name a type; did you mean 'node'?
23 | static spnode ntrue() {
| ^~~~~~
| node
prog.cc:26:9: error: 'spnode' does not name a type; did you mean 'node'?
26 | static spnode nfalse() {
| ^~~~~~
| node
prog.cc:29:9: error: 'spnode' does not name a type; did you mean 'node'?
29 | static spnode add(size_t _v, spnode _h, spnode _l) {
| ^~~~~~
| node
prog.cc:32:9: error: 'spnode' does not name a type; did you mean 'node'?
32 | static spnode add(spnode n) {
| ^~~~~~
| node
prog.cc:41:9: error: 'size_t' does not name a type
41 | static size_t size() { return M.size(); }
| ^~~~~~
prog.cc:41:9: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
prog.cc: In member function 'bool node::leaf() const':
prog.cc:14:29: error: 'var' was not declared in this scope
14 | bool leaf() const { return var == 0 || var == (size_t)-1; }
| ^~~
prog.cc:14:49: error: 'size_t' was not declared in this scope
14 | bool leaf() const { return var == 0 || var == (size_t)-1; }
| ^~~~~~
prog.cc:14:49: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
prog.cc: In member function 'bool node::trueleaf() const':
prog.cc:15:33: error: 'var' was not declared in this scope
15 | bool trueleaf() const { return var; }
| ^~~
prog.cc: In member function 'bool node::operator==(const node&) const':
prog.cc:17:10: error: 'var' was not declared in this scope
17 | return var == n.var && hi == n.hi && lo == n.lo;
| ^~~
prog.cc:17:19: error: 'const class node' has no member named 'var'
17 | return var == n.var && hi == n.hi && lo == n.lo;
| ^~~
prog.cc:17:26: error: 'hi' was not declared in this scope; did you mean 'this'?
17 | return var == n.var && hi == n.hi && lo == n.lo;
| ^~
| this
prog.cc:17:34: error: 'const class node' has no member named 'hi'
17 | return var == n.var && hi == n.hi && lo == n.lo;
| ^~
prog.cc:17:40: error: 'lo' was not declared in this scope
17 | return var == n.var && hi == n.hi && lo == n.lo;
| ^~
prog.cc:17:48: error: 'const class node' has no member named 'lo'
17 | return var == n.var && hi == n.hi && lo == n.lo;
| ^~
prog.cc: In static member function 'static void node::bdd_init()':
prog.cc:20:3: error: 'T' was not declared in this scope
20 | T = node::ntrue(), F = node::nfalse();
| ^
prog.cc:20:13: error: 'ntrue' is not a member of 'node'
20 | T = node::ntrue(), F = node::nfalse();
| ^~~~~
prog.cc:20:22: error: 'F' was not declared in this scope
20 | T = node::ntrue(), F = node::nfalse();
| ^
prog.cc:20:32: error: 'nfalse' is not a member of 'node'
20 | T = node::ntrue(), F = node::nfalse();
| ^~~~~~
prog.cc:21:9: error: 'M' is not a member of 'node'
21 | node::M.emplace(*T, T), node::M.emplace(*F, F);
| ^
prog.cc:21:33: error: 'M' is not a member of 'node'
21 | node::M.emplace(*T, T), node::M.emplace(*F, F);
| ^
prog.cc: In destructor 'node::~node()':
prog.cc:42:12: error: 'M' was not declared in this scope
42 | ~node() { M.erase(*this); }
| ^
Exit Code:
1