C++ソート参照http://www.cplusplus.com/forum/beginner/4817/を簡略化しようとしているリンクに従っていますが、bool
演算子関数を使用してコンパイル方法をコンパイルできません。比較関数を使用してオブジェクトのベクトルをソート
私はイベントオブジェクトのベクトルを持っています。私はイベントの開始時間に基づいてベクトルを並べ替える必要があります。開始時刻が数字の場合、これは簡単ですが、文字列なのでuint64_t
に変換する関数を記述しなければなりませんでした。ここで私は仕事に取得しようとしていたコードは次のとおりです。
ブール機能:
bool EWriter:: operator() (Event &a, Event &b){
return (stringToTime(stringReturnWrap(a.getBeginTime())) < stringToTime(stringReturnWrap(b.getBeginTime())));
}
このコードはコンパイルが、私はそれに名前を付ける方法を見つけ出すことはできませんので、私はそれを参照することはできませんソート。また、私はむしろ<
演算子をオーバーロードしたいと思いますが、3番目の引数が必要なエラーが発生し続けます。
sort(events->begin(), events->end(), someFunctionName);??
少し関係のない私は、私は引数にconstとして使用することが出来るのですが、私はそれらを実装している場合、私はEventクラスの関数を呼び出すことはできません知っていることである:
は、ここに私の一種です。
あなたの 'に' const'ネスを追加するのを忘れましたイベント&a'と 'イベント&b'? – dasblinkenlight
'Event :: getBeginTime()'は 'const'と宣言してください。それがあなたのコードでないなら、多分あなたはそれを修正する著者を得ることができます。それがあなたのコードなら、それを修正してください! 8v) –