У меня есть некоторый предопределенный тип, который наследует boost :: noncopyable (поэтому я должен хранить указатель на эти объекты). Я использую boost :: ptr_map . Как я знаю, вторым аргументом в нем уже является указатель. Итак, код:
ptr_map<string, boost::any> SomeMap;
typedef %Some noncopyable class/signature% NewType;
// Inserting now
boost::any *temp = new boost::any(new KeyEvent());
SomeMap.insert("SomeKey", temp);
Ошибка:
error: no matching function for call to ‘boost::ptr_map<std::basic_string<char>, boost::any>::insert(const char [11], boost::any*&)’
UPD : когда я не передаю указатель на любой any temp = any(new KeyEvent());
Я получаю:
error: no matching function for call to ‘boost::ptr_map<std::basic_string<char>, boost::any>::insert(const char [11], boost::any&)’