Salut les experts C++ !
Voil� un comportement rigolo que je voudrais que vous m'expliquiez:
Mon programme marche pour un petit nombre mais pas pour un grand....
Je definis un objet (monobjet) d'un type (montype) que j'ai cr�� et lorsque j'appelle une m�thode (mamethode) de cet objet, il refuse de commencer la m�thode si un grand nombre a �t� choisi.
tete est un pointeur sur les objets de type montype qui forment une "pile" FIFO.
Ce bloc plante evidemment car, comme un boulet, g omis de d�finir le constructeur de copie. G donc d�finis le constructeur de copie et g remplacer l'appel de fonction par valeur par un appel de fonction par r�f�rence/pointeur (suppos� moins lourd).
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 { montype monobjet; if (tete!=NULL) { monobjet.mamethode(*tete); //ligne de plantage }; };
Rien y fait. plantage � la meme ligne.
J'ajoute enfin que:
- Il n'y a pas de d�passement de capacit�
- Les objets de la pile ne renvoient jamais NULL lors de leur "new", donc pas de pb d'allocation m�moire.
- La pile a une taille d�pendante du nombre choisi au d�but.
- J'utilise Borland C++ 5.0 (vieux et efficace) et c un prog win32 en mode console.
Pkoi refuse t il de travailler pour des grands nombres, alors que le prog a l'air dimensionn� pour y arriver ?
Partager