Тот факт, что указатель не является NULL
, не означает, что он указывает на действительный vector<Listener*>
объект.
Запустите вашу программу через valgrind , чтобы обнаружить проблемы с повреждением памяти,и убедитесь, что вы выполняете свой код и через отладчик.
Если у вас все еще есть проблемы, опубликуйте тест, который воспроизводит проблему (а не небольшие фрагменты кода, которые этого не делают).