修改二进制树c++的元素
Modifying elements of a binary tree c++
我在修改二叉树的元素时遇到了一个问题。这是我得到的错误:读取位置0x00000018时发生访问冲突。我想我正在访问一个空指针,但我不知道如何解决这个问题。
这是我使用的代码:
void modifyStatus(nod* root)
{
if (root->info.st == done)
root->info.st = reachedDest;
modifyStatus(root->st);
modifySatus(root->dr);
}
我必须指定"done"answers"reachedDest"是枚举的元素。
我想我正在访问一个空指针,但我不知道如何解决这个问题。
访问NULL
之前,请检查指针:
void modifyStatus(nod* root) {
if (!root) {
return;
}
...
}
注意,看起来像这个modifySatus(root->st);
的调用看起来像C,而不是C++。在控制nod
类的情况下,应该考虑将modifySatus
作为成员函数:
root->modifyStatus();
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素