circuit.cpp:4:3: error: 'Node' does not name a type
4 | Node* parent;
| ^~~~
circuit.cpp:5:15: error: 'Node' was not declared in this scope
5 | std::vector<Node*> children;
| ^~~~
circuit.cpp:5:20: error: template argument 1 is invalid
5 | std::vector<Node*> children;
| ^
circuit.cpp:5:20: error: template argument 2 is invalid
circuit.cpp:8:31: error: expected ',' or '...' before 'P'
8 | void init(int N, int M, int[] P, int[] A) {
| ^
circuit.cpp: In function 'void init(int, int, int*)':
circuit.cpp:9:7: error: structured binding declaration cannot have type 'Node'
9 | Node[] nodes = new Node[N+M];
| ^~
circuit.cpp:9:7: note: type must be cv-qualified 'auto' or reference to cv-qualified 'auto'
circuit.cpp:9:7: error: empty structured binding declaration
circuit.cpp:9:10: error: expected initializer before 'nodes'
9 | Node[] nodes = new Node[N+M];
| ^~~~~
circuit.cpp:11:5: error: 'nodes' was not declared in this scope
11 | nodes[i].parent = nodes+P[i];
| ^~~~~
circuit.cpp:11:29: error: 'P' was not declared in this scope
11 | nodes[i].parent = nodes+P[i];
| ^
circuit.cpp:9:7: warning: unused structured binding declaration [-Wunused-variable]
9 | Node[] nodes = new Node[N+M];
| ^~