Почему мне нужно определить новый Trienode в следующем коде как новый Trienode()? Когда я делаю это как новый TrieNode, возникает ошибка сегментации. Существует ли конструктор по умолчанию для типа данных структуры, который важно вызвать здесь, и если да, то что он делает?
struct TrieNode
{
struct TrieNode *children[ALPHABET_SIZE];
bool isLeaf;
};
void insert(struct TrieNode *root, string key)
{
for(int i=0; ichildren[key-'a'] ==NULL) root->children[key-'a'] = new TrieNode();
root = root->children[key-'a'];
}
root->isLeaf = true;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... datatype-c