0
4

2 に答える 2

6

の署名std::sort()は次のとおりです。

template <class RandomAccessIterator, class StrictWeakOrdering>
void sort(RandomAccessIterator first, RandomAccessIterator last,
          StrictWeakOrdering comp);

したがって、ポインタと長さではなく、 2つのイテレータコンパレータが必要です。コードを修正するには、

std::sort(pcount, pcount+structs_len, cmp_port_count);

これが、参照によって2つのオブジェクトを受け取り、最初の引数が2番目の引数の前に順序付けられる場合に戻るcmp_port_countコンパレータ関数であると仮定します。それ以外の場合。port_count_ttruefalse

于 2012-04-23T07:34:10.790 に答える
0

電話してみてください:

std::sort(pcount,pcount + 10);

std :: sortは、引数として開始イテレータと終了イテレータを取ります。したがって、配列を並べ替えるには、配列の先頭へのポインターと、配列の終了後の1つの要素(常にarray_pointer + array_size)へのポインターを渡します。

于 2012-04-23T07:30:23.677 に答える