Я пытаюсь создать функцию для «очистки» в pset4 из cs50 2019 и по какой-то причине я не могу сделать копию моего первого узла «root», потому что «элемент инициализатора не является константой времени компиляции
узел * rootcpy = root; "вот код:
typedef struct node
{
bool is_word;
struct node *children[N];
}
node;
// Represents a trie
node *root;
node *rootcpy = root;
Я думал, что это должно быть довольно просто, но нет, по какой-то причине это не работает.
Также, когда я пытаюсь создать функцию, использующую рекурсию для «unload» части проблемы в pset4, и это выдает мне эту ошибку »имя параметра пропускается
void clear (node *) ". Вот код, я понятия не имею, почему он неправильный:
void clear(node*)
{
for (int i = 0; i < 27; i++)
{
if (rootcpy->children[i] != NULL)
{
clear(rootcpy->children[i]);
}
}
free(rootcpy);
}
Я уже пытался использовать help50 и ничего, у меня больше ничего нет.
Я ожидал, что рекурсивная функция «clear» сработает, просто выполнив
«clear (rootcpy)», где rootcpy - это копия «root» первого узла в моей папке. Это функция для выгрузки файла.