IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

un code qui ne marche pas


Sujet :

C++/CLI

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut un code qui ne marche pas
    bonjour,
    j'ai un code qui part en exception systématiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    itChunk = pCurrentElement->pListChunk->begin();
    				pCurrentChunk = *itChunk;
    				itWord = pCurrentChunk->pListWord->begin();
    qui m'aidera sera

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut
    Wow, bonjour le contexte...

    Arrête de faire le con avec ta gestion mémoire (pointeurs nus là où ils ne sont pas nécessaires, etc.) et ce sera déjà un bon début...

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut J'ai vérifoié avant de poster
    J'ai vérifoié avant de poster que les pointeurs avait des valeurs
    pour pCurrentElement J'ai d'ailleurs passé un test qui passe bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    int TypeElement = pCurrentElement->TypeElement;

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut
    Dans ce cas, c'est pListChunk qui n'est pas/plus un pointeur valide...

  5. #5
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut voila la valeur
    voila la valeur de pListChunk: pCurrentElement->pListChunk = 0xBAADF00D !!! qui n'est pas valide après rectification il a la valeur pCurrentElement->pListChunk = 0x07BAA568
    et pCurrentElement a la valeur pCurrentElement = 0x07BAE898 { idElement=-1163005939 idSegSrc=-1163005939 iIdDoc=1 ...}
    et pListWord a La valeur pCurrentChunk->pListWord = 0x07BACD80
    avec pCurrentChunk = 0x07B9D690
    et on plante sur l'instruction que j'ai mis après test sur l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    				pCurrentChunk->pListWord = new std::list<CAnalysedWord*>();

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 200
    Points : 12 354
    Points
    12 354
    Par défaut
    pCurrentElement->pListChunk = 0xBAADF00D
    0xBAADF00D => Bad Food => Mauvaise Bouffe.
    Vous envoyez de la merde parce que vous n'initialisez pas vos butins de champs pointeurs, dites merci au Runtime de Debug qui a la courtoisie de vous le montrer.

    Vous ne savez pas vous servir de pointeur, N'UTILISEZ PAS DE POINTEURS.

  7. #7
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut la valeur
    voila la valeur de pListChunk: pCurrentElement->pListChunk = 0xBAADF00D !!! qui n'est pas valide après rectification il a la valeur pCurrentElement->pListChunk = 0x07BAA568
    et pCurrentElement a la valeur pCurrentElement = 0x07BAE898 { idElement=-1163005939 idSegSrc=-1163005939 iIdDoc=1 ...}
    et pListWord a La valeur pCurrentChunk->pListWord = 0x07BBA3E8
    avec pCurrentChunk = 0x07B9D690 qui a comme valeur pListWord = 0x07BBA3E8
    J'ai modifié le code comme suit et je plante sur pListWord->begin()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                    int TypeElement = pCurrentElement->TypeElement;
    				pCurrentElement->pListChunk = new std::list<CAnalysedChunk*>();
    				pCurrentChunk->pListWord = new std::list<CAnalysedWord*>();
    				itChunk = pCurrentElement->pListChunk->begin();
    				pCurrentChunk = *itChunk;
    				itWord = pCurrentChunk->pListWord->begin();

  8. #8
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut J'ai un peu avancé
    ça passe dans la première partie de la partie dans proposition. je vous met le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                    int TypeElement = pCurrentElement->TypeElement;
    				pCurrentChunk = new CAnalysedChunk();
    				pCurrentElement->pListChunk = new std::list<CAnalysedChunk*>();
    				pCurrentChunk->pListWord = new std::list<CAnalysedWord*>();
    				itChunk = pCurrentElement->pListChunk->begin();
    				itChunk = pCurrentElement->pListChunk->begin();
    				itWord = pCurrentChunk->pListWord->begin();
    				pCurrentElement->TypeElement = objNgramer.NewTypeElement( itWord, pCurrentChunk, pPreviousChunk, pNextChunk, pNext2Chunk);
    mais ça plante dans la procédure de ngrammer
    la valeur de pWord est suspect,même si on met un pWord = new CAnalysedWord(); avant l'adresse de pWord est suspect pWord = 0xBAADF00D { ullWordID=0 ullLemmaID=0 wsWord=<valeur non définie> ...}

  9. #9
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut La solution
    j'ai résolu ce problème en passant le pointeur au lieu de l'iterateur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] code qui ne marche pas avec excel 2003
    Par nibledispo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/08/2013, 07h04
  2. Un code avec pointeurs qui ne marche pas
    Par yohannc dans le forum Débuter
    Réponses: 5
    Dernier message: 31/10/2008, 16h18
  3. code importation excel=>Access qui ne marche pas
    Par marcuscircus dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/06/2008, 11h34
  4. Réponses: 3
    Dernier message: 24/04/2008, 17h30
  5. code qui ne marche pas
    Par Jihed Amine Maaref dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2005, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo