#include <iostream>
#include <memory> // unique_ptr
using namespace std;
int main()
{
std::unique_ptr<char*> char_ptr;
char_ptr = (char*)"anisha";
return 0;
}
我想在代码的其他地方为该unique_ptr分配一些值。
这给出了以下错误:
char_ptr = (char*)"anisha";
error: no match for ‘operator=’ (operand types are ‘std::unique_ptr<char*>’ and ‘char*’)
char_ptr = (char*)"anisha";
声明后如何为
unique_ptr
赋值? 最佳答案
使用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;
}