Bonsoir à tous,
Je ne comprends pas mon erreur... Comme je débute, je sollicite vos lumières.
J'ai une classe qui contient un tableau déclaré et initialisé comme suit:
Logiquement le destructeur de la classe contient ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Et pourtant à l'utilisation j'ai une erreur. En effet, à l'utilisation de la classe j'utilise un vecteur (vector) de celle-ci. J'obtiens un crash du programme (la compilation ne pose pas de problème) à partir du deuxième push_back.
Code : Sélectionner tout - Visualiser dans une fenêtre à part delete[] _tab;
Voici un exemple minimaliste qui reproduit mon problème:
.h
.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
J'utilise VC++ 2010 Express. Voici la fenêtre qui pop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Par ailleurs, je me suis rendu compte qu'en supprimant le contenu du destructeur, il n'y avait plus de crash. Cependant je ne suis pas sûr que ce soit une bonne chose. J'ai entendu parlé de risque de fuite de mémoire... (je débute)
D'avance, merci pour votre aide!

 

 
		
		 
         
 

 
			
			


 
   


 Problème sur un destructeur
 Problème sur un destructeur
				

 Répondre avec citation
  Répondre avec citation
Partager