gpt4 book ai didi

c++ - 将对象存储在树中会出现段错误 (c++)

转载 作者:行者123 更新时间:2023-11-28 02:59:12 25 4
gpt4 key购买 nike

我有一个严重的问题,无法在任何地方找到答案。我希望有人能在这里帮助我。

首先,我尝试创建一个包含存储在中的信息的数组树

Node.h 文件

class Node {
public:
Node();
void setPerson(Person* _p) {
this->person = _p;
}

Node* getNode(int i) { return nodes[i];}
void insert(Person* _p, Tele* _tele, int i);
private:
Node *nodes[10];
Person* person;
};

节点.cpp

Node::Node() { 
for(int i=0;i<10;i++) { nodes[i] = new Node(); }
person = new Person();
}

void Node::insert(Person* _p, Tele _tele, int i) {
std::string t=tele.getString();
if(t.size()==i) {
this->person = _p; // here comes the segmentation fault
} else {
char charNode t.at(i);
int nextNode = charNode - '0';
nodes[nextNode]->insert(_p,_tele,++i);
}
}

最佳答案

甚至在您尝试插入之前,构造函数会在堆上构建 10 个节点...每个节点构建 10 个节点...每个节点构建 10 个节点...

我认为问题在于您的计算机没有足够的内存。尝试构建一棵有限树。

关于c++ - 将对象存储在树中会出现段错误 (c++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262622/

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