pk ça marche pas tout le temps ? - C++ - Programmation
Marsh Posté le 02-06-2003 à 14:49:01
aloo a écrit : Bonjour , |
Donne ton code...
Marsh Posté le 02-06-2003 à 15:30:16
je serais bien tanté mais ça fait environ 1500 lignes , et vu que c la premiere fois que j'ecris qqch de cette taille , je pense pas que ça soit super facil a lire , enfin si tu le veux y a pas de pb ....
Marsh Posté le 02-06-2003 à 15:32:11
aloo a écrit : je serais bien tanté mais ça fait environ 1500 lignes , et vu que c la premiere fois que j'ecris qqch de cette taille , je pense pas que ça soit super facil a lire , enfin si tu le veux y a pas de pb .... |
donne juste les fct A et B d'en haut...
(sauf si les 1500 lignes sont reparties dans ces 2 fct, dans ce cas, evite tout court)
Marsh Posté le 02-06-2003 à 15:32:46
aloo a écrit : je serais bien tanté mais ça fait environ 1500 lignes , et vu que c la premiere fois que j'ecris qqch de cette taille , je pense pas que ça soit super facil a lire , enfin si tu le veux y a pas de pb .... |
Donne que le code utile...en gros la fonction qui ne fonctionne pas, et le bout de code qui l'appelle!
Marsh Posté le 02-06-2003 à 16:10:30
la fonction qui appelle la fonction marhce bien quand on la prend separemment , de meme pour celle qui appelle celle qui l'appelle ...
apres ça fait 1500 lignes ....
Marsh Posté le 02-06-2003 à 16:15:04
aloo a écrit : la fonction qui appelle la fonction marhce bien quand on la prend separemment , de meme pour celle qui appelle celle qui l'appelle ... |
Tu dois bien être capable de nous filer un bout de code de taille raisonnable et qui est concerne vraiment ton bug, non?
On va pas sortir notre boule de cristal pour t'aider hein...
Marsh Posté le 02-06-2003 à 16:17:14
utilise purify pour voir ce qu'il en dit, niveau gestion mémoire tu dois merdouiller qque part
Marsh Posté le 02-06-2003 à 16:30:22
fais des affichages un peu partout et tu verras tres vite ou ca deconne
Marsh Posté le 02-06-2003 à 18:09:18
ReplyMarsh Posté le 02-06-2003 à 20:19:50
C'est peut etre con mais vérifie un peu tes variables locales dans la fonction B. Il y en a peut etre une qui n'est pas initialisée correctement, d'ou cette différence de comportement.
Marsh Posté le 02-06-2003 à 20:58:45
Merci Ace17 , mais c deja fait la fonction B marche tres bien prise hors contexte .. de meme que la fonction qui passe les parametre a la fonction B
....
Marsh Posté le 04-06-2003 à 19:51:15
Le fait que B marche bien hors contexte ne veux rien dire quand a l'initialisation des variables. Peut etre que une case qui est a zero hors contexte passe a une valeur bizzare ( résidu de calcul ) juste avant que A appelle B.
Et si c'est pas ca, alors ca vient surement des parametres.
Qu'est-ce qu'elle font tes deux fonctions, si c'est pas indiscret. Les parametres que tu passes a B, c'est des floats? Tu les obtiens a partir d'un calcul compliqué? Si oui, c'est normal qu'elles ne soient pas égales, tu dois les comparer en laissant une marge de tolérance.
Marsh Posté le 02-06-2003 à 14:47:35
Bonjour ,
j'ai un pb dans un petit programme .
j'ai une fonction , appelons la fonction A ;
et une deuxieme appelons la B ;
quand je lance A dans mon main avec les parametres adequates (deux demi-droites ) la fonction marche tres bien .
Seulement lorsque je lance A dans B , (a partir de B ) , la fonction A ne marche pas tout le temps !! J'affiche les paramettres pour etre sur que tout va bien , par ex , on va dire que A , compare deux valeurs , elle affiches donc ces deux valeurs a l'ecran , par ex 50 et 50 et me renvoit qu'elles ne sont pas egalles ... alors que 50 et 50 c la meme chose .. (en float ) ;
Et ce qui est encore plus etrange c'est que c'est seulement parfois que la fonction A ne marche pas lorsqueje la lance depuis B. mais avec un exemple donnée A lancé de B plantera toujours alors que lancé du main tout va bien ..
Et je tiens a preciser que je suis sur des valeurs que je passe a A ....
Donc , je suis dans la ..... ! si qqn a une idée du pourquoi ....
aussi ce qui est etrange , c'est que lorsque ça fait ce que je viens de decrire , en changeant (par exemple) l'ordre des parametres, la fonction marche (alors que l'ordre n'a absolument rien a voir puisqu'il sagit de regarder si c deux parametres sont egaux ... et les deux parametres sont de meme type )) ..
help , je comprends plus rien ..