采用"pass by reference"值的递归函数的包装函数
Wrapper Function for a Recursive Function that takes a "pass by reference" value
这里有一个问题:我正在尝试做,
Node* foo(Node *& ptr, other args) {
// some work here
}
在包装函数中,我必须声明一个临时值(这是没有意义的):
Node* wrapper( ... ) {
Node* p = nullptr;
return foo(p, other args);
}
有没有办法摆脱包装器函数中的第一行?谢谢!!
我想在foo
中你ptr
分配一些值(否则*&
没有值)。您不能传递nullptr
并且必须声明一个指针,如wrapper
所示nullptr
因为 是一个右值。右值是一个表达式或"未命名的对象",你不能获取它的地址。这里有更多信息 为什么没有地址?
相关文章:
- 如何在 c++ 的类中递归调用函数方法?
- 递归 pCall 函数
- C++:递归成员函数模板
- 返回未定义行为的递归行列式函数
- 变分模板递归构造函数问题
- 链表中的递归长度函数实现
- 具有 4 个指针的节点的递归插入函数返回 null
- 循环访问多个模板参数的递归模板函数
- 为什么这个递归 lambda 函数不安全?
- 可变参数模板中递归模板函数的终止问题
- 使用递归的函数未按预期工作
- 5000+ 深度递归时函数堆栈溢出
- 什么是递归启动函数
- 递归布尔函数的问题
- 使用递归模板函数是否会引入函数调用开销,或者编译器是否大部分时间都内联它(下面的示例)?
- 递归std ::函数定义模板类方法
- 为什么我不能在递归 lambda 函数中使用 auto
- 我不明白如何递归编写函数
- 递归返回函数,在特殊情况下不返回
- 在 QT 中创建带有表单的控件时的递归构造函数调用