Probleme de pointeur :(

caro_perf Messages postés 29 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 13 mars 2007 - 1 juin 2005 à 13:53
caro_perf Messages postés 29 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 13 mars 2007 - 2 juin 2005 à 09:26
Bonjour;


Voila mon probleme : je compile mon programme sans probleme mais qd
j'execute et il me sort une erreur "access violation (unhandeled
exception in myprog.exe : 0xC00000005 access violation) et il me pointe
vers cette ligne de code :double x = _part[0]->_x;



et ds le contexte de debogage y'a la liste de toutes mes variables
avec l'erreur CXX0030 Error : expression cannot be evaluated !!!







voila comment j le defini


#prog.h


...


int **_part;





#prog.c


//


_part = (int **)malloc(_Nmax*sizeof(int *));


for (int i = 0; i <(int) _Nmax; i++)


{


_part[i]= new int (*this);


if ....





//









Que faire???

3 réponses

Pamaury Messages postés 341 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 17 juin 2008 3
1 juin 2005 à 14:47
Bnojour,

déjà: malloc et new ne s'utilisent pas ensemble çà poeut donner un résultat indéfini

ensuite çà fait quoi ce truc: " _part[i]= new int (*this); " ??? le this il correspond à quoi ?

fait plutôt:

part=new int*[_Nmax];

for(int i=0;i<_Nmax;i++)

part[i]=new int;// en admettant que ce soit çà que tu veux faire



Voilà maintenant précise ce que tu fais avec "_part[i]= new int (*this);"


A m a u r y
0
caro_perf Messages postés 29 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 13 mars 2007
2 juin 2005 à 09:04
*this pointe sur une valeur deja calculée
0
caro_perf Messages postés 29 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 13 mars 2007
2 juin 2005 à 09:26
*this est pointeur vers une valuer ke je veux recuperer d'un fichier texte





fic1.cpp:



Code:, ----
int value;

char ligne[256];

in.getline(ligne, 256);

in.getline(ligne, 256);

in.getline(ligne, 256);

in.getline(ligne, 256);

in >> value;

in.getline(ligne, 256);

*this = value;







apres ds fic2.cpp j'essaye d'initialiser mon pointeur _part


donc :









Code:, ----
part = (int **)malloc(_Nmax*sizeof(int *));

for (int i = 0; i <(int) _Nmax; i++)

{

_part[i]= new int (*this);




et apres ds un autre fichier fic.3 je definie ma variable x



Code:, ----
double x = _part[0]->_x;




sachant que _x est deja calculé dans un autre fichier











C'est tres compilqué j'avoue mais help please!!!
0
Rejoignez-nous