Главная » C++ » откат данных с использованием std :: list
откат данных с использованием std :: list
У меня есть определенный тип и создал список этого типа.
Message theMessage;
std::list<Message> LM;
Теперь это утверждение
LM.push_back(theMessage);
дает мне эту ошибку:
/../gcc-4.1.2/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../include/c++/4.1.0/ext/new_allocator.h:104: error: no matching function for call to ‘
SharedTypes::Message::Message(const SharedTypes::Message&)’
Если вы не можете изменить это, подумайте об использовании контейнера умного указателя, например std::list<std::shared_ptr<Message>>, или же boost::ptr_list<Message>
2
Другие решения
Виноват:
explicit Message(const Message & aMsg)
{}
explicit работает, но вы должны передать параметр по const ссылка.