2016-05-29 8 views
-1

Ich habe Code Kruskals Algorithmus (MST) und verwenden Vektor von Paaren wie dieseverwenden Vektor mit Pair

vector<pair<int,pair<int,int> > > v; 

ich Wicht hinzufügen möchten, und machen Quelle, Ziel-Paar wie dieses

v.push_back(make_pair(wight,make_pair(src,des))); 

und dann

sort(v.begin(),v.end()); 

Da es Art nach zuerst die x-Koordinate, dann ist die y-Koordinate

und es kommt mit Fehlern

error: request for member ‘push_back’ in ‘v’, which is of non-class type ‘int’ 
    v.push_back(MK(wt,MK(x,y))); 
    ^

    error: request for member ‘begin’ in ‘v’, which is of non-class type ‘int’ 
     sort(v.begin(),v.end()); 
      ^

    error: request for member ‘end’ in ‘v’, which is of non-class type ‘int’ 
     sort(v.begin(),v.end()); 
        ^

Ich lerne, wie C++ STL zu verwenden und müde, um es zu debuggen. Wie kann ich Paare pushen und diesen Vektor sortieren?

Link meines Codes. https://ideone.com/obEhP0

+0

'union' ist ein Schlüsselwort in C++, können Sie nicht verwenden es als der Name für eine Funktion. – nwp

+0

@nwp ja ich habe es geändert, übrigens danke. –

Antwort

0

Ihre main beginnt mit int v, e;. So Verweise auf v sehen, dass int eher als Ihre vector.

(abgesehen. Diese Makros Tu das nicht wirklich, dass sie eher behindern als helfen Lesbarkeit und haben alle möglichen Nachteile...)

Verwandte Themen