ciao,
ho una mappa :
map<int, CCartesianPointIfc*> m_PointsPoly;
dove ccartesianpointifc è una mia classe , vorrei utilizzare un functor del tipo:
[code]
class TransformProfile {
private:
C3DMatrix m_pMxTransformMatrix;
public:
TransformProfile(C3DMatrix& mxTransformMatrix): m_pMxTransformMatrix(mxTransformMatrix){;};
void operator()(int pos, CCartesianPointIfc* p){
C3DVector v3d(p->GetPoint(0), p->GetPoint(1), p->GetPoint(3));
C3DVector v3dpRes = m_pMxTransformMatrix * v3d ;
p->SetPoint(0, v3dpRes.x);
p->SetPoint(1, v3dpRes.y);
p->SetPoint(2, v3dpRes.z);
}
};
[code]
per trasformare le coordinate di una polilinea nello spazio passando una matrice.
void CPolylineIfc::GetTransformedPoints(C3DMatrix mx)
{
for_each(m_PointsPoly.begin(),m_PointsPoly.end(),T ransformProfile(mx));
}
mi da quest errore:
c:\Programmi\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(21): error C2064: term does not evaluate to a function taking 1 arguments


posso applicare anche alla mappa i functori come al vector?
come faccio con gli argomenti dato che una mappa ha due valori a differenza del vector?
grazie.