Comment perdre une variable...

cs_ganfoud Messages postés 25 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 15 juillet 2003 - 10 juil. 2003 à 15:47
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 11 juil. 2003 à 23:12
J'ai toujours des problemes de variables baladeuses:
j'affecte des valeurs à des variables et ces valeurs changent sans que je fasse aucune affectation ensuite!
au milieu de boucles for notamment...
est ce que quelqu'un aurait une explication rationnelle à ce phénomène?

7 réponses

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
10 juil. 2003 à 15:57
Dans ce genre de situation, c'est la faute souvent du programmeur !
Donc il nous faut ton code !

:-p :sleepy) :shy) :sleepy) :-p
0
cs_ganfoud Messages postés 25 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 15 juillet 2003
10 juil. 2003 à 16:19
moi je veux bien mais il commence a etre consequent le code! ya plusieurs fichiers de centaines de lignes...
mais si t'insistes...
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
10 juil. 2003 à 16:24
Le bout de code qio ne vas pas !

et tu sais 100 lignes pour un programme ... c'est pas specialement beaucoup, tout depend ce qu'il y a !

:-p :sleepy) :shy) :sleepy) :-p
0
cs_ganfoud Messages postés 25 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 15 juillet 2003
10 juil. 2003 à 16:41
float Voie::parcourir_accel(int n) //Renvoi de l'accélération correspondant à la n-ième valeur
{
static Iterateur iter(accel);
static Val* v=NULL;
static Val* la_bonne=NULL;
static bool ok=false;
static int compt=0;
iter.debut();

while(iter.nonfini()!=0)
{
v=(Val*)iter.suivant();
if (compt==n)
{
ok=true;
la_bonne=v;
break;
}
compt++;
}

if (ok)
return la_bonne->lire_accel();
else
return NULL;
}

dans le while, les valeurs contenues dans v sont n'importe quoi à partir de la 5 ou 6eme alors qu'elles etaient bonnes a l'affectation avec un while pareil, ca c sûr. et je n'y touche pas entre-temps
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
10 juil. 2003 à 17:06
C'est quoi Val* ?????

C'est quoi lire_accel() !!??

Tu l'appelles combien de fois cette fonction ?

:-p :sleepy) :shy) :sleepy) :-p
0
cs_ganfoud Messages postés 25 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 15 juillet 2003
11 juil. 2003 à 08:54
class Val:public Objet
{
private:
float temps;
float acceler;
public:
Val(float, float);
~Val();
void modif(float, float);
void lire();
float lire_tps();
float lire_accel();
};

float lire_accel()
{
return acceler;
}

et en fait g une liste chaînée de Val faite maison. Mais je crois qu'il y en a de codée dans la librairie standard non? ca serait p-e plus efficace...

je l'appelle 3000 fois au total mais ca peut etre plus
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
11 juil. 2003 à 23:12
Je ne comprend pas :
a chaque iteration tu fais "v=(Val*)iter.suivant();"
Donc c'est surement iter.suivant() qui bug ! non ?

Tu n'as qu'a faire du pas-a-pas ! et oui le debbuger c'est genial !

:-p :sleepy) :shy) :sleepy) :-p
0
Rejoignez-nous