首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对象存储在树中会导致分割错误(c++)

将对象存储在树中会导致分割错误(c++)
EN

Stack Overflow用户
提问于 2014-01-21 23:39:39
回答 1查看 84关注 0票数 0

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

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

Node.h文件

代码语言:javascript
复制
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;
};

Node.cpp

代码语言:javascript
复制
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);
       }
   }
EN

回答 1

Stack Overflow用户

发布于 2014-01-22 00:10:00

在您尝试insert之前,构造函数在堆上构造了10个节点...每一个节点都会构造10个以上的节点...每一个节点都会构造10个以上的节点...

我认为问题在于你的电脑没有足够的内存。相反,请尝试构建有限树。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21262622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档