Bonjour,

Je suis débutant avec l'utilisation de Boost::Graph, et je rencontre un problème avec le type que je souhaite. Mon but est très simple: créer un graphe dont les arcs et les sommets ont un nom (std::string).

Voilà mon 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
 
#include <iostream>
#include <boost/graph/adjacency_list.hpp>
 
typedef boost::adjacency_list<
    boost::vecS, // type de liste d'arcs
    boost::vecS, // type de liste de sommets
    boost::undirectedS, // type de graphe
    std::string, // type d'arcs
    std::string  // type de sommets
> MyGraph;
 
int main(int argc, char** argv) 
{ 
    MyGraph g;
    boost::add_edge("A", "B", g); 
    boost::add_edge("B", "C", g); 
    boost::add_edge("A", "D", g); 
    return 0; 
}
Mais voilà l'erreur que j'ai:
main.cpp: invalid conversion from `const char*' to `unsigned int'
Le compilateur attend un int. Comment lui dire que je veux appeler mes sommets par un string, et pas un int?

Merci!