返回指针变成垃圾...... c ++

时间:2017-02-26 07:16:26

标签: c++

Node* binTree::insert(vector<Node> vec, int index) {

    Node* new_node = &vec[index];
    Node* left_leaf=NULL;
    Node* right_leaf=NULL;
    if (new_node->left == -1 || new_node->right == -1)
        return new_node;
    if (c == 'n')
        {
            root = new_node;
            c = 'y';
        }
    index = new_node->left;
    new_node->left_leaf = insert(vec, new_node->left);
    index = new_node->right;
    new_node->right_leaf = insert(vec, new_node->right);
    return NULL;
};

我的问题是在执行递归过程后,当它点击“返回新节点”时,返回的值变为垃圾。我不知道为什么,任何提示或修正?

1 个答案:

答案 0 :(得分:1)

new_node引用局部变量中的元素(vector作为复制参数传递)。尝试将其作为参考传递。