use*_*650 0 c++ recursion warnings
Node * replaceValue(Node * x) const
{
if (x == nullptr)
return nullptr;
if (x->left != nullptr)
replaceValue(x->left);
else
return x;
}
Run Code Online (Sandbox Code Playgroud)
警告:控制到达非空函数的末尾
我应该忽略这个吗?我确保这个函数总是返回一些东西(所有用 nullptr 初始化的指针),但我不希望这个警告继续弹出。如果我在函数末尾添加 return nullptr,那么它就会崩溃。有没有办法解决?
切勿忽视警告。它正在告诉你一些重要的事情。
在这种情况下,当您递归调用replaceValue时,您将丢弃该调用的返回值,然后落入函数底部而不返回任何内容。
您可能想使用return replaceValue它。