這個問題與我的程序有關。我之前使用手動管理使用指針,現在我試圖移動到智能指針(出於所有理由)。處理構造函數時的智能指針
在正常的指針中,通過使用新的關鍵字很容易調用類的構造函數。像下面的程序一樣:
Button * startButton;
startButton = new Button(int buttonID, std::string buttonName);
當使用智能指針時,什麼是調用類的構造函數的替代方法。我已經做了下面給出了一個錯誤:
std::unique_ptr<Button> startButton;
startButton = std::unique_ptr<Button>(1, "StartButton"); // Error
我收到的錯誤如下:
Error 2 error C2661: 'std::unique_ptr<Button,std::default_delete<_Ty>>::unique_ptr' : no overloaded function takes 2 arguments
[make_unique](http://en.cppreference.com/w/cpp/memory/unique_ptr/make_unique) – user657267