Когда вы используете отладчик, вы должны увидеть, что вы получили нарушение доступа на if (cur->symbol == word[i])
. (Попробуйте дома.) Почему это происходит?
В DictionaryTrie::insert
, если curr
(== root
) - это nullptr, вы выделяете узел и сохраняете его в root
, но вы не обновляете curr
. Затем вы вводите for
l oop и ссылку curr->symbol
. Поскольку curr
является нулевым указателем, вы получаете нарушение прав доступа.
Простое исправление заключается в назначении
curr = root;
после присвоения значения root
.