Lyon StudGame
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Lyon StudGame

Forum de l'Association lyonnaise des étudiants en Jeux vidéo
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 [Prog et Dev] Pb lecteur obj

Aller en bas 
4 participants
AuteurMessage
Vincent D
Gamer
Gamer



Messages : 73
Date d'inscription : 25/09/2008

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMar 11 Nov - 19:14

Voila l'erreur que j'ai

Citation :
Exception de première chance à 0x010e2d13 dans rendu_tpreel.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0xcdcdcdcd.
Exception non gérée à 0x010e2d13 dans rendu_tpreel.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0xcdcdcdcd.

J'ai localisé le probleme a l'appel de cette fonction mais je n'arrive pas a l'identifier pour le corriger.

Citation :

float * tabsommet = new float[maxsommet]; //declaration de mon tableau de sommet

void obj::addsommet(float a, float b, float c )
{
if (nbsommet<maxsommet)
{
tabsommet[3*nbsommet]=a;
tabsommet[3*nbsommet+1]=b;
tabsommet[3*nbsommet+2]=c;
nbsommet++;
}
else
/*gestion des erreurs*/
;
};


Voici la partie de code qui appelle cette fonction

Citation :
if(0==symbole.compare("v"))
{
float a, b, c;
std::cout << " ** Entree boucle vertex **" <<std::endl;
flux >> symbole;
//std::cout << "symbole :" << symbole << std::endl;
a=((float)atof(symbole.c_str()));
flux >> symbole;
//std::cout << "symbole :" << symbole << std::endl;
b=((float)atof(symbole.c_str()));
flux >> symbole;
//std::cout << "symbole :" << symbole << std::endl;
c=((float)atof(symbole.c_str()));
std::cout << "v " << a << " " << b << " " << c << std::endl;
objet->addsommet(a, b, c);
}

en gros, quand je lis un "v" je sais que c'est un point la suite est compose 3 floats que je lis et stocke dans 3 variables a, b et c.

Enfin j'appelle addsommet pour stocker ce sommet dans mon tableau de sommet.

J'ai essayé avec des tableaux bidimensionnel, des objets, etc... mais rien n'y fait. j'ai donc simplifier au max mais ca ne passe toujours pas.

Si un programmeur voit d'où ca vient, merci de m'aider.

On passe souvent a cote d'erreurs connes a cause d'un manque de recul sur son code, ce qui est d'autant plus enervant. ca devrait marcher mais ca ne veut pas.
Revenir en haut Aller en bas
Rémy.L
Homo Sapiens
Homo Sapiens
Rémy.L


Messages : 14
Date d'inscription : 05/10/2008
Age : 38

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMar 11 Nov - 22:36

salut vincent,

ton erreur indique une erreur d'écriture que l'on pourrait qualifier de null pointer exception si on était en java (je sais que tu maitrise mieux le java). Donc en C généralement, c'est un problème de pointeur (et là tu maudit le c). Comme ça juste avec ton code, je peux pas plus t'aider j'aurai besoin de faire des tests sur les pointeurs et voir le débogueur.

Si tu veux on peut voir ça demain entre midi et deux.
Revenir en haut Aller en bas
Vincent D
Gamer
Gamer



Messages : 73
Date d'inscription : 25/09/2008

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMar 11 Nov - 23:25

L'annee derniere, j'etais sous java et c'est vrai que le respect des regles d'encapsulation obligatoire ou l'interdiction des pointeurs, ca evite ce genre de chose.

J'ai quand meme quelques années de C, a l'epoque je faisais mumuse avec les pointeurs sans probleme.

Le C++, c'est entre les 2, et je ne sais pas si c'est le langage ou l'interface de developpement, mais c'est monstrueux.

Clairement, mon programme tape la où il ne faut pas, alors que je veux juste remplir un tableau ! Shocked

Bon on verra demain.
Revenir en haut Aller en bas
RAPDel
Gamer
Gamer
RAPDel


Messages : 67
Date d'inscription : 25/09/2008
Age : 38
Localisation : Tain L'Hermitage

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMer 12 Nov - 0:10

C'est pas étonnant que tu sortes de ton tableau ^^. Le test "nbsommet<maxsommet" ne te préserve pas de la bonne écriture en 3*nbsommet, 3*nbsommet+1 et 3*nbsommet+2.

Je préconise plus un "if ((3*nbsommet+2)<maxsommet)", au moins tu seras sûr de ne pas sortir de ton tableau.
Revenir en haut Aller en bas
duff
Homo Sapiens
Homo Sapiens



Messages : 11
Date d'inscription : 02/10/2008

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMer 12 Nov - 1:09

Oui je plussois !!!
C'est un accès à une case du tableau qui est non définie !!
Donc soit tu changes ton test qui n'empêche pas les dépassements d'écriture dans le tableau, soit tu peux recoder un tableau templaté, afin de gérer toi même l'allocation mémoire de ton tableau (si tu veux je connais quelqu'un qui est très doué pour ça Laughing )
Essaye d'utiliser les vector, ce sera beaucoup plus pratique Wink
Revenir en haut Aller en bas
Vincent D
Gamer
Gamer



Messages : 73
Date d'inscription : 25/09/2008

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMer 12 Nov - 8:35

Je dois reconnaitre que votre remarque sur la condition est fondé. Embarassed

Comme je l'ai dit j'ai essayé de simplifier au max, fait plusieurs essais et bon je n'ai pas modifié ce test qui pourrait effectivement occasionné un depassement de tableau mais .....

L'erreur est signalé a la premiere entree quand nbsommet=0 dans un tableau de 10000 floats.

Je vous montrerai ca.
Revenir en haut Aller en bas
RAPDel
Gamer
Gamer
RAPDel


Messages : 67
Date d'inscription : 25/09/2008
Age : 38
Localisation : Tain L'Hermitage

[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_minipostedMer 12 Nov - 9:12

On peut aussi ajouter que tu manipules une variable globale hors de ta classe avec une méthode de classe. Ton tabsommet n'est pas dans ta classe obj ?

Suivant la gestion de ton tableau global, ça peut ou non bien se passer.
Revenir en haut Aller en bas
Contenu sponsorisé





[Prog et Dev] Pb lecteur obj Empty
MessageSujet: Re: [Prog et Dev] Pb lecteur obj   [Prog et Dev] Pb lecteur obj Icon_miniposted

Revenir en haut Aller en bas
 
[Prog et Dev] Pb lecteur obj
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Lyon StudGame :: Hors-jeu :: Informatique-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser