有人可以告诉我,unique_ptr的以下初始化有什么问题?
int main()
{
unique_ptr<int> py(nullptr);
py = new int;
....
}
Run Code Online (Sandbox Code Playgroud)
g ++ -O2 xxx.cc -lm -o xxx -std = c ++ 11说:
error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<int>’ and ‘int*’)
py = new int;
^
Run Code Online (Sandbox Code Playgroud)
干
unique_ptr<int> px(new int);
Run Code Online (Sandbox Code Playgroud)
工作得很好.