begin process at 2012 02 10 16:58:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Access violation reading


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Access violation reading

lundi 14 août 2006 à 09:42:06 | Access violation reading

sran_isback

Bonjour!

Je travail sur un Plug In pour OpenSteer (un gestionnaire d'ia multiples) et j'ai crée un jolie rectangle et j'aimreais savoir quand mes agents sont dedans, mais la comparaison de ces vecteurs fait planter le programme. Il n'y aucune erreur à la compilation, et le programme se lance normalement.

Voila un extrait du code afin de clarifier ma demande :

L'objet box :

class Box{
public:
    Box(Vec3 &min, Vec3& max): m_min(min), m_max(max){}
    Box(Vec3 min, Vec3 max): m_min(min), m_max(max){}
    bool    InsideX(const Vec3 p){if(p.x < this->m_min.x || p.x > this->m_max.x)        return false;return true;}
    bool    InsideZ2const Vec3 p){if(p.z < this->m_min.z || p.z > this-> m_max.z)    return false;return true;}
    void    draw2(){
        Vec3 b,c;
        b = Vec3(m_min.x, 0, m_max.z);
        c = Vec3(m_max.x, 0, m_min.z);
        Vec3 color(1,1,0);
        drawLineAlpha(m_min, b, color, 1.0f);
        drawLineAlpha(b, m_max, color, 1.0f);
        drawLineAlpha(m_max, c, color, 1.0f);
        drawLineAlpha(c,m_min, color, 1.0f);
    }
    Vec3 m_min;
    Vec3 m_max;
};

l'erreur arrive quand j'appel la fonction insidex dans une autre class (l'agent) :

int update (const float currentTime, const float elapsedTime)
    {
[...]
        m_bbox2->InsideX(position());
[...]
}

Pouvez m'aidez?

Merci!
lundi 14 août 2006 à 15:05:55 | Re : Access violation reading

laurent1024

Membre Club
Réponse acceptée !
Verifier que m_bbox2 sont allouer avec un new
et avait de faire m_bbox2 tu fait un if(m_bbox2 != NULL)++

lundi 14 août 2006 à 15:11:07 | Re : Access violation reading

laurent1024

Membre Club
Oups j'ai fais des fautes.
Je voulais dire qui faut que m_bbox2 soit alloué avec un new, car c'est un pointeur qui pointe n'importe où au depart.
Et avant d'utiliser un pointeur, normalement il faut verifier qui ne pointe pas sur rien, donc faire un if (pointeur != NULL) avant utilisation

++
lundi 14 août 2006 à 15:22:08 | Re : Access violation reading

SAKingdom

Membre Club
Réponse acceptée !
if (pointeur != NULL)

Oui si on l'a initialiser à 0 quelque part. Mais si il n'est pas initialisé:

char *test;

seul par exemple, il pointera sur sa zone mémoire.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution

lundi 14 août 2006 à 15:27:36 | Re : Access violation reading

SAKingdom

Membre Club
Oups petite erreur. Il ne pointera pas sur sa zone mémoire mais la valeur ne sera pas valide tout de même.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution

lundi 14 août 2006 à 15:28:02 | Re : Access violation reading

laurent1024

Membre Club
Oui, c'est vrai, mais normalement, on iniitialise toujours un pointeur avec NULL, ou avec une allocation dymanique. Dans le cas de sran_isback, l'erreur vient surement d'un initialisation non faite

++
mercredi 16 août 2006 à 10:25:23 | Re : Access violation reading

sran_isback

Tutafais j'avais initialisé l'objet pas dans la bonne classe :oops:

Merci!


Cette discussion est classée dans : box, max, min, color, vec3


Répondre à ce message

Sujets en rapport avec ce message

Debutant : Boucle et C :) [ par Tkaos ] Bonjour, Voila je suis nouveau ici et dans l'univers de la progz, Bon vais pas vous faire attendre, voici mon probleme : Comme je suis caremment novic Jeu de dames - Min max [ par lacerto84 ] Salut tout le monde,Je commence en C++ et je souhaiterais réaliser un jeu.J'ai donc choisi de faire un jeu de dames avec IA.J'ai fait des recherches e edit box 3D [ par pmolina ] j aimerai ajouter l effet de profondeur 3d a mes edit box. normalement celui -ci est actif par defaut mais dans mon cas les miennes sont planes.typiqu Problème avec les classes. [ par xelados ] J'ai commencer les classes et j'avoue que je les comprend plus ou moin je ne sais pas exactement c quoi mes erreurs .. mais j'en nais 16 ... Ce que j' langage C : probleme syntax [ par Keymi ] Bonjour , tous d'abord le but de l'exercice est de faire une fonction permettant de determiner la valeur maximale et minimale d'un tableau de flottant Problème pour générer des nombres aléatoires [ par Etoiline ] Hello !Voilou je suis débutante en c++. Je dois faire un jeu de yams mais j'ai un problème : pour le premier lancer de dé tout va bien mais pour le se Problème tri d'un vecteur [ par Etoiline ] Voilà j'ai un petit problème j'arrive pas à trier mon vecteur (selon un ordre croissant)Voilà un bout de mon algo donc si vous pouviez m'aider svp.... [TABLEAUX 2D] comment passer un tableau 2D dans une fonction ? [ par Zenith ] bonjour, je suis novice en C, et je voudrais passer un tableau 2D dans une fonction.le but de mon programme est de générer 6 combinaisons de 6 entiers Problème de compilation [ par xkamen ] Bonjour,Dans la portion de code qui suit, lors de la compilation, j'ai le message d'erreur : C2078: initialiseurs trop nombreuxC2440: 'initialisation' aidez moi svp [ par youssielec ] je cherche a creer un programme qui genere entre 1 et 10 numeros de cartes de credit valides. j dois d abord saisir et valider le nombre de cartes d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales