Bonjour,
Pour un projet perso de génération aléatoire de labyrinthe, je me suis dit que ce serait sympa d'utiliser boost::graph pour pouvoir apprendre comment s'en servir.
Seulement la doc de boost::graph n'est pas d'une clareté évidente .
Après avoir lu les tutos sur le sujet sur ce site, j'essaie d'utiliser random_graph_layout pour générer mon graphe.
J'ai par contre un peu de mal à comprendre tous les paramètres à passer à la bête.

Voici ce que j'essaie :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef boost::adjacency_list<  // adjacency_list is a template depending on :
    boost::listS,               //  The container used for egdes : here, std::list.
    boost::vecS,                //  The container used for vertices: here, std::vector.
    boost::undirectedS,           //  directed or undirected edges ?.
    Vertex,                     //  The type that describes a Vertex.
    Edge                        //  The type that describes an Edge
> MyGraph;
et pour random_graph_layout :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef boost::graph_traits<MyGraph>::edge_descriptor edge_t;
typedef std::map<edge_t, unsigned int> weights_property_t;
weights_property_t weights;
boost::associative_property_map<weights_property_t> weights_map(weights);
boost::circle_topology<std::minstd_rand> topo;
 
random_graph_layout(m_maze,weights_map,topo );
Bon je ne suis pas sur de ce que je lui passe et lui encore moins, car le compilo me sort :

Erreur 1 error C2679: '[' binaire*: aucun opérateur trouvé qui accepte un opérande de partie droite de type 'unsigned int' (ou il n'existe pas de conversion acceptable) c:\boost\include\boost-1_49\boost\property_map\property_map.hpp 361
Quelqu'un aurait une idée de comment utiliser random_graph_layout ?
Merci d'avance !