J'ai un problème étrange avec un conteneur STL.STL Container en tant que membre privé. Erreur de segmentation
J'ai un cours avec un membre privé std::map<string, string> _environment
. Pourquoi quand j'appelle _environment["name"]="john"
dans le constructeur de classe (ou n'importe où), j'obtiens un Segmentation fault
?
Ce devrait être l'utilisation la plus courante d'un conteneur STL, n'est-ce pas?
Merci!
Edit (plus de code):
Dans 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;
};
Dans shell.cpp:
Shell::Shell() {
_environment["shell"] = "myshell";
...
}
L'erreur de segmentation se produit dans la ligne _environment["shell"] = "myshell";
Veuillez poster un exemple de code, ce que vous décrivez devrait bien sûr fonctionner correctement. – Jon
Avez-vous essayé d'utiliser votre débogueur pour savoir exactement où le code se bloque? – bjoernz
Votre code fonctionne pour moi, y a-t-il quelque chose de significatif dénoté par le '...'? Sinon, vous devrez peut-être déboguer, je ne pense pas que vous manquiez de mémoire, mais ... qui sait? – birryree