Itération sur le vecteur de la paire

J'ai écrit extrait de code suivant mais il ne semble pas fonctionner.

int main(){
    int VCount, v1, v2;
    pair<float, pair<int,int> > edge;
    vector< pair<float, pair<int,int> > > edges;
    float w;
    cin >> VCount;
    while( cin >> v1 ){
        cin >> v2 >> w;
        edge.first = w;
        edge.second.first = v1;
        edge.second.second = v2;
        edges.push_back(edge);
    }
    sort(edges.begin(), edges.end());
    for ( vector < pair<float,pair<int,int>> >::const_iterator it = edges.begin() ; itt != edges.end; it++){
        cout >> it.first;
    }
    return 0;
}

C'est de lancer une erreur à la ligne contenant la boucle for. L'erreur est:

error: no match for operator<’ in it < edges.std::vector<_Tp, _Alloc>::end [with _Tp = std::pair<float, std::pair<int, int> >, _Alloc = std::allocator<std::pair<float, std::pair<int, int> > >, std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const std::pair<float, std::pair<int, int> >*, std::vector<std::pair<float, std::pair<int, int> > > >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::const_pointer = const std::pair<float, std::pair<int, int> >*]

Quelqu'un peut-il m'aider?

ne pourrait-il pas être it != edges.end()? Je ne vois pas itt déclaré n'importe où
Un autre sauvage punt ne fonctionnera pas si vous ajouter un espace entre les chevrons dans votre boucle for: vector < pair<float,pair<int,int> > >::const_iterator?
support à angle droit problème a été résolu depuis C++11
Dépend du compilateur c'est pourquoi il est un sauvage punt
non, chaque C++11 compilateur doit gérer correctement >>

OriginalL'auteur Peeyush | 2014-09-01