正在尝试重载二进制搜索树分配运算符
Trying to overload a Binary Search Tree assignment operator
我试图重载和赋值运算符,但程序一直崩溃。分配运算符在238线上过载。代码任何帮助都会通知
老实说,你可能很幸运这个bug能显示出来。
BinaryTree *newTree; newTree->insert(0);
创建一个指向BinaryTree
的指针,该指针将不指向任何内容,然后使用->
运算符调用取消引用它,这将导致c++中未定义的行为。
假设你的函数的其他一切都是正确的(包括其他函数的实现(,那么正确的方法将是基于你当前的代码(注意,函数返回一个引用(:
BinaryTree & BinaryTree::operator=(const BinaryTree &myTree)
{
this->insert(0);
this->FillTree(*this, myTree.root);
return *this;
}
但是,我发现你的代码中很可能还有其他错误,你应该听取其他评论者的建议,首先实现一个复制构造函数。
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 正在尝试重载二进制搜索树分配运算符
- 使用C++创建特殊的二叉搜索树
- 在递归二叉搜索树中搜索
- 在 C++ 中搜索动态分配的数组中的出现次数
- 在二叉搜索树中插入时出现分段错误
- C++二叉搜索树模板从函数返回节点
- 我可以在没有堆栈的情况下在二叉搜索树中实现迭代器吗?
- 在二叉搜索树C++中计算平均值
- 在字符串的二叉搜索树中搜索子字符串 - C++
- 在二叉搜索树中插入新元素
- 如何打印在二叉搜索树中找到的数据?
- 查找存储在二叉搜索树的所有非叶子中的数据总和?(返回整数的独立递归函数
- 这是一个二叉搜索树吗?黑客排名问题
- 二叉搜索树 - 实现"search"函数
- 二叉搜索树的 C++ 实现中的EXC_BAD_ACCESS错误
- 删除二叉搜索树 (C++) 中的单个元素
- 将值存储在带有C++的二叉搜索树中
- 此TreeVisitor函数如何用于此二进制搜索树分配
- 二叉搜索树,分配指针到模板结构节点