我只是想知道如何能夠將對象推回到unique_ptr列表中,如果可能的話。unique_ptr push_back和std :: list
我收到的錯誤:
error:
no matching constructor for initialization of
'std::__1::unique_ptr<tester::Stimulation,
std::__1::default_delete<tester::Stimulation> >'
::new ((void*)__p) _Tp(__a0);
我的代碼如下:
#include <iostream>
#include <list>
namespace tester
{
class Stimulation
{
std::string name;
public:
Stimulation(std::string n) : name(n) {}
std::string getName() const {return name;}
};
}
using namespace tester;
int main(int argc, char const *argv[])
{
std::list< std::unique_ptr<tester::Stimulation*> > configuration;
//std::list< std::unique_ptr<tester::Stimulation> >::iterator i = configuration.begin();
configuration.push_back(std::unique_ptr<tester::Stimulation>(new Stimulation("NAME1")));
return 0;
}
你的代碼有什麼問題? – wasthishelpful
我不確定,但你的代碼對我來說確實很好。請發佈相關的錯誤消息。 – Rakete1111
已更新:提供了錯誤 –