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 :

Probleme avec boost::add_edge


Sujet :

Boost C++

  1. #1
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Probleme avec boost::add_edge
    Bonjour à tous,

    C'est sans doute un truc tout bidon mais je ne capte pas : le boost::add_edge refuse le EdgeProperties

    J'ai suivi le tuto du site, mais j'ai du me louper quelque part

    Ca ça passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    boost::add_edge(source,target,graph)
    Ca ça passe pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    struct EdgeProperties
    {
      float weight,
      foat dist,
      int type,
      EdgeProperties():weight(0.0),dist(0.0), type(0) {}
      EdgeProperties(float w, float d, int t=0):weight(w),dist(d), type(t) {}
    }
     
    boost::add_edge(source, target, EdgeProperties(), graph);
    Il me jette en me disant que add_edge a pas de constructeur qui réponde à ce que j'essaye de faire (du coup, c'est too many arguments)

    Voila, désolée parce que c'est sans doute très basique, mais je suis bloquée. Je débute avec boost, c'est un peu chaud

    Pour plus d'infos, si jamais : c'est du vs10, boost 1.5 et mon graph est un adjency_list.

    Merci d'avance.

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bonjour et bienvenue sur le forum

    A priori, pas de problème à appeler add_edge comme tu le fais.
    Quelques remarques : j'espère que c'est un mauvais copié collé ton code ? parce que là, tu as des virgules à la place des points virgules en fin de ligne, tu as un type foat au lieu de float et il manque un point virgule après le bloc de la structure

    Si ça vient pas de là, peux tu donner les typedef du graph, vertex, edge et des propriétés ?

  3. #3
    Candidat au Club
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Désolée, c'est pas du copié-collé c'est pour ça que y'avait des fautes (en vrai c'est mieux écrit )

    Là c'est extrait direct du code :

    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
     
    struct Arc
    {
    	float poids;
    	float dist;
    	int type;
    };
     
    struct EdgeProperties //permet de remplir les champs de l'arc à sa creation
    {
    	float poids;
    	float dist;
    	int type;
    	EdgeProperties(): poids(0.0), dist(0.0), type(0) {}
    	EdgeProperties(float p, float d, int t=0) : poids(p), dist(d), type(t){}
    };
     
    typedef boost::adjacency_list<
    	boost::listS,
    	boost::vecS,
    	boost::undirectedS,
    	Polynav,
    	Arc
    >PolynavGraph;
     
    typedef PolynavGraph::vertex_descriptor PolynavID;
    typedef PolynavGraph::edge_descriptor PolynavConnectionID;
    Polynav est une classe perso avec des tas de trucs dedans.

    Comme je disais, je débute avec cette lib et j'ai suivi des tutos en essayant d'adapter à mon cas, il est fort possible qu'il manque un/des points importants (et que j'ai recopié des trucs useless aussi)

Discussions similaires

  1. Probleme avec boost::unorderable_map
    Par darkman19320 dans le forum Boost
    Réponses: 2
    Dernier message: 01/12/2011, 15h59
  2. Probleme avec boost::iostreams
    Par vandamme dans le forum Boost
    Réponses: 1
    Dernier message: 23/02/2009, 08h52
  3. boost - Probleme avec compilateur C++ de visual studio 2005
    Par gilles641 dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 24/01/2006, 19h03
  4. probleme de compilation avec boost
    Par doof dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 07/06/2005, 21h38
  5. probleme avec boost et devcpp
    Par Krost dans le forum Dev-C++
    Réponses: 12
    Dernier message: 02/01/2005, 19h11

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