Casse-tête

cs_alex1982 Messages postés 2 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 juin 2004 - 3 juin 2004 à 09:30
cs_alex1982 Messages postés 2 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 juin 2004 - 4 juin 2004 à 09:10
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

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
3 juin 2004 à 09:50
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
0
cs_zelastwarrior Messages postés 33 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 juin 2005
3 juin 2004 à 12:49
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!!
0
cs_alex1982 Messages postés 2 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 juin 2004
4 juin 2004 à 09:10
Le problème vient bien du debugger de Visual dot Net. En essayant avec Visual 6 ca marche mieux
Merci à tous
0