似乎由于某种原因,当我尝试在同一行调用两个函数时,第一个函数从“.get()”接收 nullptr 作为第一个参数
getSomePtr(someUniquePtr.get(), someArray)->moveUniquePtr(std::move(someUniquePtr));
Run Code Online (Sandbox Code Playgroud)
但是,当将这些函数分成两行时,一切似乎都有效:
auto* somePtr = getSomePtr(someUniquePtr.get(), someArray);
somePtr->moveUniquePtr(std::move(someUniquePtr));
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种情况?