Casse-tête

Signaler
Messages postés
2
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 juin 2004
-
Messages postés
2
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 juin 2004
-
Bonjour, j'utilise visual dot net, et j'ai un problème avec mon code.
Lorsque j'exécute le code suivant (très simple) :
#include <stdlib.h>
class essai
{
private :
float* tmp ;
public :
void test() ;
} ;

void essai::test()
{
tmp = new float [4] ;
tmp[0] = 1.0f ;
tmp[1] = 2.0f ;
tmp[2] = 2.5f ;
tmp[3] = 2.75f ;
}

void main()
{
essai JE ;
JE.test() ;
}

J'ai le 0 erreur warning.
Mais lors du Debug, lorsque je regarde la variable tmp, seul le tmp[0] est mis à 1.
Les tmp[1], tmp[2] et tmp[3] ne sont pas modifié.
JE COMPRENDS PLUS RIEN
Est-ce que quelqu'un saurait ce que ça veut dire ?
Qu'est ce que je peux faire ?
Merci d'avance

3 réponses

Messages postés
398
Date d'inscription
jeudi 30 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2007
2
ca me semble correct, mais je crois que le debugger ne t'affiche pas le tableau en entier, simplement la premiere valeur
les autres doivent etre bonnes, essaie de les visualiser ; c'est me semble-t-il juste un probleme de debbuger
Messages postés
33
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 juin 2005

bon je commence le c++ mais je vais essayé d'etre brillant !!
fais plutot une fonction qui t'affiche les 4 valeurs comme ca tu sera fixé si oui ou non elles sont bien initiallisé.
Particulierement j'aurais mis ca :
class essai
{
private :
float* tmp ;
public :
void affiche() ;
} ;

void essai::essai() // le constructeur de essai
{
tmp = new float [4] ;
tmp[0] = 1.0f ;
tmp[1] = 2.0f ;
tmp[2] = 2.5f ;
tmp[3] = 2.75f ;
}

void essai::affiche()
{
for (int i=0;i<4;i++)
printf("%f",tmp[i]);
}

void main()
{
essai JE ;
essai.affiche();
}

si ca marche tiens moi au courant merci!!
Messages postés
2
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 juin 2004

Le problème vient bien du debugger de Visual dot Net. En essayant avec Visual 6 ca marche mieux
Merci à tous