Aqu*_*irl 9 c++ pointers smart-pointers unique-ptr
#include <iostream>\n#include <memory> // unique_ptr\n\nusing namespace std;\n\nint main()\n{\n std::unique_ptr<char*> char_ptr;\n\n char_ptr = (char*)"anisha";\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我想为代码中其他地方的 unique_ptr 分配一些值。
\n这会出现以下错误:char_ptr = (char*)"anisha";
error: no match for \xe2\x80\x98operator=\xe2\x80\x99 (operand types are \xe2\x80\x98std::unique_ptr<char*>\xe2\x80\x99 and \xe2\x80\x98char*\xe2\x80\x99)\n char_ptr = (char*)"anisha";\nRun Code Online (Sandbox Code Playgroud)\n\nunique_ptr声明后如何给其赋值?
小智 4
使用 std::make_unique。这是编辑您的代码 -
#include <iostream>
#include <memory> // unique_ptr
using namespace std;
int main()
{
std::unique_ptr<char*> char_ptr;
//char_ptr = (char*)"anisha";
char_ptr = std::make_unique<char*>((char*)"anisha");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6479 次 |
| 最近记录: |