Perte initialisation variable - C++ - Programmation
MarshPosté le 13-01-2005 à 22:05:03
Bonjour, alors voici mon pb :
pDecrypter = new Computer(duplicates) un nouvel objet de type Computer est créé Computer::Computer(bool dupes): Decrypter(dupes), total(0), mySmartString(0)
Ensuite il ya pDecrypter->Play(); A ce moment là pdecrypter affiche seulement les variables protected(de la classe DECRYPTER) cependant il va bien dans Computer::Play if (!mySmartString) mySmartString = new SmartString(duplicates); et là je me rends compte avec stupéfaction que mySmartString est rempli avec n'importe quoi!!! et ça me plante tout!! segmentation defaultPouvez vous m'aider et me dire ce qui s'est passé. La variable total contient également n'importe quoi
D'autre part comment peut on initialiser un pointeur à 0 sans avoir appelé le constructeur?
Marsh Posté le 13-01-2005 à 22:05:03
Bonjour, alors voici mon pb :
pDecrypter = new Computer(duplicates)
un nouvel objet de type Computer est créé
Computer::Computer(bool dupes):
Decrypter(dupes), total(0), mySmartString(0)
{
}
cela appelle constr Decrypter::Decrypter(bool dupes):
round(0),
duplicates (dupes)
{
}
et mySmartString est initialisé à 0
Ensuite il ya pDecrypter->Play();
A ce moment là pdecrypter affiche seulement les variables protected(de la classe DECRYPTER)
cependant il va bien dans Computer::Play
if (!mySmartString)
mySmartString = new SmartString(duplicates);
et là je me rends compte avec stupéfaction que mySmartString est rempli avec n'importe quoi!!! et ça me plante tout!! segmentation defaultPouvez vous m'aider et me dire ce qui s'est passé.
La variable total contient également n'importe quoi
D'autre part comment peut on initialiser un pointeur à 0 sans avoir appelé le constructeur?
Voici le code
la classe game.hpp
la classe Decrypter.hpp
la classe computer.hpp