与えられた座標iCenter,jCenter
。この座標に最も近いCoordinate
はリストcoordinates
の最初の位置になければなりません。 Furterhmoreは、私は私の問題は私のoperator()
がiCenter,jCenter
座標知っている必要があるということである次のような構造比較関数に追加の引数を指定してリストをソート
struct ComparatorForCoordinate {
bool operator() (const shared_ptr<Coordinate>& c1, const shared_ptr<Coordinate>& c2) {
// return distance(c1 to center) > distance(c2 to center)
}
};
// sorting:
coordinates.sort(ComparatorForCoordinate());
を使用します。これら2つのdouble値を比較関数にどのように渡すことができますか?オペレータにさらに2つのダブル・パラメータが中央位置にあるようにする単純な試みは機能しませんでした。それがうまくいく場合には、このコールは私にとって素晴らしいことだ:
coordinates.sort(ComparatorForCoordinate(iCenter,jCenter));
私はそのタイトルを微調整し、STLのタグを追加し、期待してきました他のユーザーがこの質問(および回答)を見つけやすくなります。変更が気に入らない場合は、元に戻してください。 –