问题是:我正在尝试做,
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是右值中显示的那样声明一个指针。右值是一个表达式或“未命名对象”,您不能获取它的地址。这里有更多信息为什么右值没有地址?.