gpt4 book ai didi

c++ - 我不能在 C++ 函数中使用 new 来构建

转载 作者:行者123 更新时间:2023-11-30 01:05:57 24 4
gpt4 key购买 nike

我想在这个函数中为参数新建一个空间。

void Binary::PreAndMid(Qnode* root, char temp1[], char temp2[], int m, int n, int j, int k) {
if (n - m != k - j || m > n || j > k) {
return;
}
else {
root = new Qnode; /*in other function the root is become null*/
root->val = temp1[m];
cout << root->val << endl;
int f = Find(temp2, temp1[m]);
if (f == -1) {
return;
}
else {
PreAndMid(root->LC, temp1, temp2, m + 1, m + f - j, j, f - 1);
PreAndMid(root->RC, temp1, temp2, m + f - j + 1, n, f + 1, k);
}
}
}

结果是根为空。

最佳答案

这是因为你需要执行*& root,以便在最后返回新的内存地址。现在你打破了永远不要在参数上使用赋值运算符的规则。

关于c++ - 我不能在 C++ 函数中使用 new 来构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47696395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com