/in/foo.cc:30:5: error: invalid use of template-name 'std::vector' without an argument list
vector son;
^~~~~~
/in/foo.cc:30:5: note: class template argument deduction is only available with -std=c++1z or -std=gnu++1z
In file included from /usr/include/c++/7/vector:64:0,
from /usr/include/c++/7/queue:61,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:86,
from /in/foo.cc:1:
/usr/include/c++/7/bits/stl_vector.h:216:11: note: 'template<class _Tp, class _Alloc> class std::vector' declared here
class vector : protected _Vector_base<_Tp, _Alloc>
^~~~~~
/in/foo.cc: In function 'node* insertT(node*, trg&)':
/in/foo.cc:106:27: error: 'struct node' has no member named 'son'
for(int i = 0; i < h->son.size(); i++)
^~~
/in/foo.cc:108:16: error: 'struct node' has no member named 'son'
t = h->son[i];
^~~
/in/foo.cc:111:16: error: 'struct node' has no member named 'son'
h->son[i] = insertT(t, a);
^~~
/in/foo.cc:112:16: error: 'struct node' has no member named 'son'
h->son[i]->h = h->h + 1;
^~~
/in/foo.cc:116:16: error: 'struct node' has no member named 'son'
int p = h->son.size();
^~~
/in/foo.cc:117:8: error: 'struct node' has no member named 'son'
h->son.PB(insertT(NULL, a));
^~~
/in/foo.cc:118:8: error: 'struct node' has no member named 'son'
h->son[p]->h = h->h + 1;
^~~
/in/foo.cc: In function 'double dfs(node*, int)':
/in/foo.cc:130:32: error: 'struct node' has no member named 'son'
for (int i = 0; i < h->son.size(); i++)
^~~
/in/foo.cc:131:27: error: 'struct node' has no member named 'son'
sum += dfs(h->son[i], k);
^~~
/in/foo.cc:137:32: error: 'struct node' has no member named 'son'
for (int i = 0; i < h->son.size(); i++)
^~~
/in/foo.cc:138:31: error: 'struct node' has no member named 'son'
ins += calarea(h->son[i]->tri);
^~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:184:34: error: 'struct node' has no member named 'son'
for(int i = 0; i < head->son.size(); i++)
^~~
/in/foo.cc:186:32: error: 'struct node' has no member named 'son'
t += calarea(head->son[i]->tri);
^~~