为什么我不能在插入的函数调用中直接使用返回的指针作为参数
Why cannot I directly use returned pointer as parameter in function call of insert?
这是函数的原型:
void BinaryDimonTree::insert(int x, int y, int level, TreeNode *&cur)
在函数中,我尝试调用:
insert(x, y, ++level, cur->getLeftChild());
这是getLeftChild
:
TreeNode* TreeNode::getLeftChild() const {
return this->left;
}
然后,它报告一个错误:
重载函数"BinaryDimonTree::insert"的实例与参数列表不匹配 - 参数类型为:(int,int,int,TreeNode *(
如果我以这种方式更改我的代码:
TreeNode *child = cur->getLeftChild();
insert(x, y, ++level, child);
不会报告任何错误。
我想知道为什么会出现这个问题,如果我想直接使用函数返回值作为参数,如何解决?
多谢!
insert
函数的最后一个参数是对指针的非常量引用。在通话中:
insert(x, y, ++level, cur->getLeftChild());
最后一个参数是TreeNode *
类型的临时值,无法绑定到TreeNode * &
。你可以在这里找到一个很好的解释
相关文章:
- 在函数中返回无符号字符数组,但不返回指针
- 为什么需要返回指针来利用协方差?
- 野牛如何在解析树中返回指针
- 何时返回指针与返回对象的一般经验法则?
- 为什么使用 std::istream_iterator 构造函数返回指针
- 为什么我不能直接从返回指针的函数返回对指针的引用?
- 如何在不使用临时变量的情况下取消引用返回指针的函数的返回值?
- 为什么下面的代码段返回指针指向的值而不是指针的地址?
- 使用 map<char,strring> 的迭代器返回指针 map<char,strring>*
- 如何从类成员函数返回指针,例如 size_t * class :: function(); 并使用类析构函数 ~size
- 函数返回动态强制转换的指针,返回指针,就好像它根本没有被转换一样
- 从函数返回对指针的引用与返回指针相同?
- C++ 为什么访问数组中的元素会返回指针?
- 关于函数返回指针
- 返回指针或对私有成员的引用的替代方法
- 从函数返回指针
- 通过从当地的C风格阵列中返回指针来获取一个悬空的指针
- 我应该如何定义返回指针的函数?(引用指针与指针指针)
- 为什么C 模板功能不支持返回指针
- 返回指针的语句 - 解释它是如何工作的以及为什么