これは割り当ての一部であるとして、オブジェクトを渡すことは、私はこの命令で立ち往生しています:スケジュールのstable_sortを使用して、カスタム比較演算子
ソートあなたのランダムに生成されたプール。 std :: stable_sort、 を使用して、カスタム比較 演算子としてschedule_compare型のオブジェクトを渡します。
UPDATE:私はcppreference stable_srot()をチェックしていた、以下のメソッド定義を参照してください。
void stable_sort (RandomAccessIterator first, RandomAccessIterator
last,Compare comp);
を、そしてそれは私が理解したものからと思われるだけ最後に関数を渡すことができるということですstable_sort()の引数(Compare comp):
ただし、指示には、タイプschedule_compare
のオブジェクトを渡します。これはどのように可能ですか?
これは、以下の私のコードです:あなたはの関数としてを呼び出すことができる何かを渡すことができます(のような)「機能を」受け入れアルゴリズム関数の場合
struct schedule_compare
{
explicit schedule_compare(runtime_matrix const& m)
: matrix_{m} { }
bool operator()(schedule const& obj1, schedule const& obj2) {
if (obj1.score > obj2.score)
return true;
else
return false;
}
private:
runtime_matrix const& matrix_;
};
auto populate_gene_pool(runtime_matrix const& matrix,
size_t const pool_size, random_generator& gen)
{
std::vector<schedule> v_schedule;
v_schedule.reserve(pool_size);
std::uniform_int_distribution<size_t> dis(0, matrix.machines() - 1);
// 4. Sort your randomly generated pool of schedules. Use
// std::stable_sort, passing in an object of type
// schedule_compare as the custom comparison operator.
std::stable_sort(begin(v_schedule), end(v_schedule), ???)
return; v_schedule;
}
あなたが表示するコードにはどのような問題がありますか?あなたがまだそれをしていないなら、[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)に時間をかけてください。 –
@Someprogrammerdude、とにかく、私に言ってくれてありがとうと思いました。病気を今更新する – Suhaib
常に明示的にすることをお勧めします。 :) –