У меня странная проблема с контейнером STL.
У меня есть класс с закрытым членом std::map<string, string> _environment
.Почему, когда я вызываю _environment["name"]="john"
в конструкторе класса (или где-либо еще), я получаю Segmentation fault
?
Это должно быть самое распространенное использование контейнера STL, не так ли?
Спасибо!
Редактировать (больше кода):
В shell.h:
#include <string>
#include <map>
using namespace std;
class Shell {
public:
Shell();
Shell(const Shell& orig){};
virtual ~Shell(){};
private:
...
...
std::map<string, string> _environment;
};
В shell.cpp:
Shell::Shell() {
_environment["shell"] = "myshell";
...
}
Ошибка сегментации происходит в строке _environment["shell"] = "myshell";