将指针传递到函数的指针时发生分段错误
Getting Segmentation Fault when passing pointer to pointer to a function
将"指针对指针"传递给出现分段错误的函数时。代码通过插入函数生成二进制搜索树。插入函数是获取指向根节点的指针和它在正确位置插入的键值
#include<iostream>
#include<stdlib.h>
strong text
using namespace std;
struct node
{
int data;
struct node* left;
struct node* right;
};
void insert(struct node** node,int data)
{
if( *node == 0 )
{
(*node) = (struct node* ) malloc(sizeof(struct node));
(*node)->data = data;
(*node)->left = 0;
(*node)->right = 0;
}
else if(data < ((*node) -> data)){
insert((&((*node) -> left)),data);
}
else if(data > ((*node)->data)){
insert((&((*node)->right)),data);
}
}
void inordertreversal(struct node* node)
{
inordertreversal(node->left);
cout << node->data;
inordertreversal(node->right);
}
int main()
{
struct node *root = 0;
insert(&root,10);
insert(&root,6);
inordertreversal(root);
return 0;
}
帮助备受赞赏的
每次检查下一个节点:
void inordertreversal(struct node* node)
{
if (node->left)
inordertreversal(node->left);
cout << node->data;
if (node->right)
inordertreversal(node->right);
}
之后:
$ g++ example.c -o example && ./example
6
10
相关文章:
- 为什么我在空指针错误(链表)中获取成员访问权限
- std::函数指针错误:无法将 &A::a 转换为类型 std::function<>&&
- 为什么我得到 munmap_chunk():无效的指针:错误
- 成员模板函数指针错误
- 删除指针时,未分配被释放的 C++ 指针错误
- Visual Studio 中的"指向引用的指针"错误不会按发生位置的文件名显示
- C++数组指针错误无法将“int*”转换为“int**”
- C++ 通过函数指针错误调用成员函数
- 从 BST 中删除元素(指针错误)
- 随机生成的多维布尔指针错误
- 在测试中使用unique_ptr时指针错误无效
- 使用 malloc 而不是 new 会导致 free():指针错误无效
- 非标准语法;使用 '&' 创建指向成员的指针错误,将成员函数分配给向量时出错
- 抽象类和唯一指针 c++ 错误
- 返回函数指针错误而不带类型定义
- 练习中出现空指针错误
- 指针错误导致的分段错误(简单..)
- free():C++中的指针错误无效
- 使用布尔值数组"表达式必须具有指向对象类型的指针"错误C++
- 指针错误的C 数组