PDA

View Full Version : [c++] problemi con pair


Broadband
22-10-2008, 11:30
Ciao ragazzi, vi posto il codice non capisco perchè non compili. Devo costruire un vettore i cui elementi sono delle pair. Il primo elemento di queste pair è un puntatore e il secondo elemento di queste pair è ancora una pair di 2 valori float:


Vertex *v = .....;
typedef std::pair<float, float> direction;
typedef std::pair<Vertex *, direction> myPair;
std::vector< myPair > v; //contiene coppie puntatote a vertice/direzione

float x = v->getX();
float y = v->getY();

direction dir (x, y);
myPair mp (v,dir);

v.push_back(mp);


Quando compilo ottengo: error: request for member `push_back' in `v', which is of non-class type `Vertex*'|
L' errore risulta sull' ultima riga di codice. Non capisco perchè: v è di tipo vector<myPair>, se mp è di tipo myPair come è possibile che ottenga un errore facendo un push_back?

Ciao raga grazie

gnommo
22-10-2008, 12:09
Non si capisce, ma v è una variabile Vertex * o vector< myPair > ?
Nel codice su scritto v è stato dichiarato due volte.

Broadband
22-10-2008, 12:14
Non si capisce, ma v è una variabile Vertex * o vector< myPair > ?
Nel codice su scritto v è stato dichiarato due volte.

Gnommo sono un emerito idiota.

Non compilava in quanto avevo dato lo stesso nome (v) sia al Vertex* che al container.

Meglio che faccio pausa va :D

Certo che alcune volte quello che ti dice il compilatore c' entra poco o niente col problema. Fermo restando che il problema principale sono io ;D

Ciao grazie