Frage zur adjacent_difference-Umsetzung
-
Folgendes:
class XDiff : binary_function<Vector3D,Vector3D,double> { public: double operator()(const Vector3D& vec1,const Vector3D& vec2) { return vec1.dx - vec2.dx); } }; ... vector<double> diffs(m_fileData.size()); //m_fileData - Typ: vector<Vector3D> adjacent_difference(m_fileData.begin(),m_fileData.end(),diffs.begin(),XDiff());
Das bringt mir einen Compile-Fehler: er kann Vector3D nicht in double umwandeln.
Der Fehler tritt direkt im adjacent_difference auf. Dort wird irgendwie implizit vorausgesetzt, dass In- und Out-Iteratoren auf denselben Tyo zeigen. Ist das denn STL-Konform? Oder ist das ein Fehler im VS?Oder habe ich da grade irgendwo nen Denkfehler?
Edit: Mein Ziel ist es halt die Differenezen der x-Werte zu bekommen, und die will ich direkt als double.
Der Fehler wird mir bei dieser for-Schleife in <numeric> angezeigt
_Ty _Val = *_First; for (*_Dest = _Val; ++_First != _Last; )
-
Und was ist bitte: m_fileData??? Wahrscheinlich kein Container, der nur doubles enthält, oder?
-
Du antwortest auf einen Beitrag von 2007!
Ein Spam-Kommentar hat diesen Beitrag gepushed.