Я считаю, что проблема может быть связана с использованием boost :: shared_ptrs в качестве значений ключа.
//header file:
#include <map>
std::map<boost::shared_ptr<foo>, bar> myMap; // Private member variable
//////////
myMap.insert(pair);
//////////
myMap.clear()
Ни foo, ни bar не являются абстрактными классами.
В этот момент во время выполнения я получу сообщение об ошибке «чисто виртуальный метод», и моя программа завершит работу. Я также попытался перебрать карту и использовать myMap.erase (iterator), который выдает ту же ошибку.