二进制搜索树-C++-表达式必须是可修改的左值
binary search tree - C++ - expression must be a modifiable lvalue?
所以我现在正在实现BST,并试图编写一个后续函数。这就是我现在拥有的:
int BinarySearchTree::TREE_SUCCESSOR(node* x)
{
node* y = NULL;
if (x->right != NULL)
{
return FIND_MIN(x->right);
}
else
{
y = x->parent;
while (y != NULL && x = y->right)
{
x = y;
y = y->parent;
}
return y->key;
}
}
但是在这条线上:
while (y != NULL && x = y->right)
我在y
:上收到此错误
表达式必须是可修改的左值
为什么我会出现此错误?
任何帮助都将不胜感激,谢谢!!
您的意思似乎是以下
while (y != NULL && x == y->right)
^^^
至于错误消息的含义,当你使用赋值运算符时,它的优先级低于等式和逻辑运算符的优先级,事实上你有
while ( ( y != NULL && x ) = y->right)
考虑到将y
的声明放在else语句的代码块中要好得多,因为它只在这个范围中使用
//...
else
{
node* y = x->parent;
相关文章:
- 有根的二进制搜索树.保留与其父级的链接
- 正在尝试重载二进制搜索树分配运算符
- 使用C++创建特殊的二叉搜索树
- 在递归二叉搜索树中搜索
- 在二叉搜索树中插入时出现分段错误
- C++二叉搜索树模板从函数返回节点
- 我可以在没有堆栈的情况下在二叉搜索树中实现迭代器吗?
- 在二叉搜索树C++中计算平均值
- 在字符串的二叉搜索树中搜索子字符串 - C++
- 在二叉搜索树中插入新元素
- 如何打印在二叉搜索树中找到的数据?
- 查找存储在二叉搜索树的所有非叶子中的数据总和?(返回整数的独立递归函数
- 这是一个二叉搜索树吗?黑客排名问题
- 二叉搜索树 - 实现"search"函数
- 二叉搜索树的 C++ 实现中的EXC_BAD_ACCESS错误
- 删除二叉搜索树 (C++) 中的单个元素
- 将值存储在带有C++的二叉搜索树中
- 二叉搜索树未将插入值加载到树中
- 为什么我的原始二叉搜索树被修改,即使我在另一个节点中复制了根节点
- 二进制搜索树-C++-表达式必须是可修改的左值