Допустим есть код
#include <iostream>
class A
{
public:
static int i;
static void GetA(const int* a)
{
a = &i;
}
};
int A::i=1;
int main()
{
const int *p;
A::GetA(p);
std::cout << *p << std::endl;
std::cout << A::i << std::endl;
return 0;
}
Выдается
1547644
1
upd: немного поменял содержимое топика. В данном случае ошибки сегментирвоания нет. Оно есть в оригинальном коде, там вместо инта статическая приватная мапа и вылетает ошибка сегментирования при попытке получить константный итератор. Но сути это не меняет, из этого примера видно, что указатель ссылается не туда.