C

时间:2019-07-04 03:55:02

标签: c recursion nodes c99 cs50

我正在尝试在cs50 2019的pset4中为“清除”创建一个函数,由于某种原因,由于“初始化元素不是编译时常量”,因此无法复制我的第一个节点“ root” 节点* rootcpy = root;“这是代码:

typedef struct node
{
    bool is_word;
    struct node *children[N];
}
node;
// Represents a trie
node *root;

node *rootcpy = root;

我认为这应该很简单,但是不行,由于某种原因它不起作用。

此外,当我尝试为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(rootcpy)”,其中rootcpy是我的特里树中第一个节点“ root”的副本。这是卸载Trie的功能。

0 个答案:

没有答案