Liste STL pour tenir la structure de pointeurs

J'ai une structure appelée vertex et j'ai créé quelques conseils. Ce que je veux faire est d'ajouter ces pointeurs à une liste. Mon code ci-dessous, quand il essaie d'insérer le pointeur dans la liste, crée une erreur de segmentation. Quelqu'un peut-il expliquer ce qui se passe?

#include <iostream>
#include <list>

#define NUM_VERTICES 8

using namespace std;

enum { WHITE, GRAY, BLACK };

struct vertex
{
    int color;
    int distance;
    char parent;
};

int main()
{
    //create the vertices
    vertex r = {WHITE, NULL, NULL};

    //create pointer to the vertex structures
    vertex *pr = &r;

    //create a list to hold the vertices
    list<vertex*> *r_list = new list<vertex*>;

    list<vertex*>::iterator it;

    r_list->insert(it, pr);
}
il vous manque une valeur de retour de la fonction main

OriginalL'auteur unknown | 2009-07-06