问题是:我正在尝试做,
Node* foo(Node *& ptr, other args) {
// some work here
}
在包装函数中,我必须声明一个临时值(这是没有意义的):
Node* wrapper( ... ) {
Node* p = nullptr;
return foo(p, other args);
}
有没有办法摆脱包装函数中的第一行?谢谢!!
问题是:我正在尝试做,
Node* foo(Node *& ptr, other args) {
// some work here
}
在包装函数中,我必须声明一个临时值(这是没有意义的):
Node* wrapper( ... ) {
Node* p = nullptr;
return foo(p, other args);
}
有没有办法摆脱包装函数中的第一行?谢谢!!
我猜foo
你分配ptr
了一些价值(否则*&
没有价值)。你不能通过nullptr
,你必须像你在wrapper
因为nullptr
是右值中显示的那样声明一个指针。右值是一个表达式或“未命名对象”,您不能获取它的地址。这里有更多信息为什么右值没有地址?.