pb de dédoublement du même objet - C++ - Programmation
Marsh Posté le 28-02-2005 à 10:49:16
Taz a écrit : tiens du C |
je sais, je suis pas un cador en C++ mais j'ai besoin d'un petit coup de main, car la je vois vraiment pas.
Merci
Marsh Posté le 28-02-2005 à 10:58:05
Laisse moi deviner: tu t'attends à ce que evaluate(1) te renvoie le même résultat que le evaluate(0) qui précède, grace au calcul de la boucle en fin de fonction qui calcul une prob finale en fonction de tous les noeuds enfants, c'est bien ça ?
Marsh Posté le 28-02-2005 à 11:02:24
pretorienx a écrit : je sais, je suis pas un cador en C++ mais j'ai besoin d'un petit coup de main, car la je vois vraiment pas. |
aucun rapport. tu te complique le travail tout seul. remplace tous tes char* et char[] par des std::string, ça fera déjà un problème en moins. Et je ne parle même pas des const
Marsh Posté le 28-02-2005 à 11:08:08
Lam's a écrit : Laisse moi deviner: tu t'attends à ce que evaluate(1) te renvoie le même résultat que le evaluate(0) qui précède, grace au calcul de la boucle en fin de fonction qui calcul une prob finale en fonction de tous les noeuds enfants, c'est bien ça ? |
non c pas ça.
En faite evaluate(0) doit me renvoyer une proba pour une catégorie de personne et evaluate(1) pour une autre catégorie.
Et pour ce faire chaque objet possède en donnée membre un tableau de proba, chaque case correspond a 1 type de personne.
Ce que je pensais c ke evaluate 0 va travailler sur tout mes objets, mais précisément sur la donnée membre probability[0],... et de même pour evaluate 1 qui devrait travailler sur probability[1] de tout mes objets.
mais je contaste que root->evaluate(0); puis root->evaluate(1)
ne fais pas ce je j'escompte: on dirait que c 2 root différents alors que c le même., il fait le traitement sur evaluate(0); et le fait sur evaluate(1) sans tenir compte que evaluate(0) a modifier la donnée membre probability[0].
Voila.
J'espère avoir été claire.
Un petit coup de main serait le bien venu
Marsh Posté le 28-02-2005 à 11:17:19
Taz a écrit : aucun rapport. tu te complique le travail tout seul. remplace tous tes char* et char[] par des std::string, ça fera déjà un problème en moins. Et je ne parle même pas des const |
cela me simplifera la vie en quoi ?
et pour les const ?
je vois pas trop ce que cela changerait de mettre des std::string
Marsh Posté le 28-02-2005 à 11:21:52
pretorienx a écrit : cela me simplifera la vie en quoi ? |
La correction ne va pas tarder à suivre...
Marsh Posté le 28-02-2005 à 11:51:52
Taz a écrit : je me casse |
je pensais que les gens de ce forum était là pour aider les autres, et pas pour se la peter quand ils savent et que les autres non ?
Marsh Posté le 28-02-2005 à 12:10:24
Taz a écrit : je me casse |
Non, allez, reviens, explique-lui.
Marsh Posté le 28-02-2005 à 14:39:09
aulieu de baragouiner du mauvais C, utilise std::string, std::list et tu verras que ton probleme sera deja plus clair
Marsh Posté le 28-02-2005 à 10:39:13
j'ai un problème dans le code suivant:
le pb vient d'ici:
dans mon main je fais:
ThreatNode *root;
...
...
root->evaluate(0);
root->evaluate(1);
le problème est le suivant: quand je fais root->evaluate(0) tout se passe bien bien, mais quand je fais root->evaluate(1), il ignore le traitement que j'ai fait sur l'objet root en faisant evaluate(0), comme si je dédoublais l'objet chose que je ne veux pas faire, je veux travaillé sur les mêmes objets.
si quelqu'un comprend.
Merci de m'expliquer