necklace.cpp: In constructor 'Trie::Trie(int, int, char, int)':
necklace.cpp:31:7: warning: 'Trie::pchar' will be initialized after [-Wreorder]
31 | char pchar;
| ^~~~~
necklace.cpp:30:6: warning: 'int Trie::par' [-Wreorder]
30 | int par;
| ^~~
necklace.cpp:33:2: warning: when initialized here [-Wreorder]
33 | Trie(int par = -1, int l = 0, char pchar = 0, int s_pos = 0) : pchar(pchar), par(par), len(l), s_pos(s_pos) {
| ^~~~
necklace.cpp:30:6: warning: 'Trie::par' will be initialized after [-Wreorder]
30 | int par;
| ^~~
necklace.cpp:27:6: warning: 'int Trie::len' [-Wreorder]
27 | int len;
| ^~~
necklace.cpp:33:2: warning: when initialized here [-Wreorder]
33 | Trie(int par = -1, int l = 0, char pchar = 0, int s_pos = 0) : pchar(pchar), par(par), len(l), s_pos(s_pos) {
| ^~~~
necklace.cpp: In member function 'void Trie::build()':
necklace.cpp:53:44: warning: array subscript has type 'char' [-Wchar-subscripts]
53 | else prv = tries[tries[par]->prv]->trans[pchar];
| ^~~~~
necklace.cpp: In member function 'int Trie::ins(char, int)':
necklace.cpp:59:13: warning: array subscript has type 'char' [-Wchar-subscripts]
59 | if (trans[c] == 0) trans[c] = (new Trie(arr_pos, len+1, c, p))->arr_pos;
| ^
necklace.cpp:59:28: warning: array subscript has type 'char' [-Wchar-subscripts]
59 | if (trans[c] == 0) trans[c] = (new Trie(arr_pos, len+1, c, p))->arr_pos;
| ^
necklace.cpp:60:16: warning: array subscript has type 'char' [-Wchar-subscripts]
60 | return trans[c];
| ^
necklace.cpp: In function 'int make_match(pii&)':
necklace.cpp:109:1: warning: control reaches end of non-void function [-Wreturn-type]
109 | }
| ^