- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在编译期间两次收到上述错误消息。其他一切正常,即没有其他编译时错误。这是一个简单的二叉树程序,错误来自的函数是交换或镜像函数,旨在简单地交换所有子树。这是函数
template <class dataType>
void swapSubTrees ( BinaryTree <dataType> * bt )
{
if(bt == NULL)
{
//do nothing
}
else
{
swapSubTrees(bt->left());
swapSubTrees(bt->right());
BinaryTree <int> *temp;
temp = bt->left();
bt->left() = bt->right();
bt->right() = temp;
}
}
这是我在 main 中的函数调用(这是我得到两个非左值错误的地方
swapSubTrees (b1);
b1 是从类 BinaryTree 实例化的对象,它位于我的树的顶部。有相应的对象 b2、b3、b4 和 b5,它们是树的其他节点,显然来 self 遗漏的代码。无论如何,我似乎找不到哪里出错了,那可能是什么?任何帮助都会非常感谢!左边的函数看起来像
Template <class dataType>
BinaryTree <dataType> * BinaryTree<dataType> :: left()
{
return leftTree;
}
最佳答案
我猜给出错误的行是:
bt->left() = bt->right();
bt->right() = temp;
?
您不能将这样的函数调用用作表达式的左侧。
将此方法添加到 BinaryTree 模板类中:
template<class dataType>
void BinaryTree<dataType>::swapChildren()
{
BinaryTree *tmp = leftTree;
leftTree = rightTree;
rightTree = tmp;
if (leftTree)
leftTree->swapChildren();
if (rightTree)
rightTree->swapChildren();
}
然后将您的自由函数更改为:
template <class dataType>
void swapSubTrees ( BinaryTree <dataType> * bt )
{
if(bt != NULL)
bt->swapChildren();
}
关于c++ - Non-Ivalue in assignment 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19679364/
我在Pytorch C++前端上使用了TorchScript模型。 Python中的模型将output dict返回为Dict[str, List[torch.Tensor]]。 当我在C++中使用它
你好,我想做一个外部单链表。我遇到了“赋值中的非 Ivalue”问题,它出现在“this = currP->next”行上,我尝试将其设为 currP.next,但它也会产生错误 #include
我需要为一个变量分配以下内容: ref => { this.marker = ref} 这是循环发生的,我需要将 this.marker 命名为 this.marker + i,这样我就可以设置和访问
我目前正在尝试调用一个 sqlite3 库函数,它希望我向它传递一个 sqlite3**。 这是我当前的代码。我有一个工作部分和一个给我错误的部分: sqlite3 *sqlite = m_db.ge
我在编译期间两次收到上述错误消息。其他一切正常,即没有其他编译时错误。这是一个简单的二叉树程序,错误来自的函数是交换或镜像函数,旨在简单地交换所有子树。这是函数 template void swap
我们可以很容易地做到这一点: List list; IReadOnlyList List => list; 但是我们怎样才能对 IReadOnlyDictionary 做同样的事情呢? Diction
在这段代码中,我尝试将迭代器移动 10 个元素。 #include #include #include int main() { using
我是一名优秀的程序员,十分优秀!