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

Boost C++ Discussion :

exception vector::_M_fill_insert


Sujet :

Boost C++

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Par défaut exception vector::_M_fill_insert
    Bonjour,

    J'ai ecrit un petit programme pour parser un fichier XML (en utilisant Xerces C) et qui le transforme en graphe (en utilisant Boost).

    Le probleme est que lorsque j'ajoute les aretes (avec la fonction add_edge), a un moment en plein milieu de mon graphe j'ai 4 aretes qui refusent de s'ajouter en lancant une exception vector::_M_fill_insert.

    Pour info, j'ai defini mon graphe comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    typedef struct
    {
            unsigned char inputNbs[MAX_SELECTION_CHOICES];
            unsigned char* inputNames[MAX_SELECTION_CHOICES];
            unsigned char choice;
    } selector;
     
    typedef struct
    {
            unsigned short div[MAX_DIVISION_CHOICES];
    } divisor;
     
    typedef struct
    {
            unsigned int nbOutputs;
    } repeater;
     
    typedef struct
    {
            unsigned char outputNbs[MAX_INVSELECTION_CHOICES];
            unsigned char* outputNames[MAX_INVSELECTION_CHOICES];
            unsigned char choice;
    } invSelector;
     
    typedef struct
    {
            unsigned char* name;
    } clockSource;
     
    typedef union
    {
            selector sel;
            divisor div;
            repeater rep;
            invSelector invSel;
            clockSource clkSrc;
    } nodeType;
     
    typedef boost::property<boost::edge_name_t, XERCES_STD_QUALIFIER string> EdgeNameProperty;
    typedef boost::property<boost::vertex_name_t, XERCES_STD_QUALIFIER string, boost::property<boost::vertex_rank_t, nodeType> > VertexProperties;
     
    typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, VertexProperties, EdgeNameProperty> Graph;
    J'ai essaye de chercher sur Google des infos sur cette exception, mais il n'y a strictement rien (a part une page sur des erreurs de l'iPhone )

    J'ai egalement trouve que _M_fill_insert est une methode protegee de la classe std::vector... mais ca ne m'avance pas beaucoup.

    Donc, si quelqu'un a une petite idee, je lui en serais tres reconnaissante.

    Merci.

  2. #2
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 2
    Par défaut
    Bon ben finalement ce n'etait pas un probleme de C++. C'etait le fichier que j'essayais de parser qui allait pas... (le noeud destination de l'edge n'existait pas encore lors de la creation de cette derniere...)

    Merci quand meme.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/10/2013, 11h35
  2. Exception sur Collections.sort(Vector v)
    Par anadoncamille dans le forum Général Java
    Réponses: 2
    Dernier message: 20/11/2012, 14h50
  3. Class vector exception
    Par lotfi-g dans le forum Collection et Stream
    Réponses: 26
    Dernier message: 17/09/2010, 17h01
  4. std::vector<>.resize et exception
    Par camboui dans le forum C++
    Réponses: 9
    Dernier message: 09/10/2009, 11h28
  5. [Vector] classe Vector et exception
    Par Nanoua dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 23/04/2004, 12h37

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