複数のパラメータで定義されたオブジェクトStudentiのリストがあります。 私はこのリストを並べ替えたい、最初は平均して、平均が同じならアルファベット順にソートします。私のクラスの学生で複数のパラメータによるSTLソートC++
私はこのヘッダ関数宣言: bool mediaDescrescator(const&, const&);
この方法で実装されています
bool Studenti::mediaDescrescator(const Studenti& a, const Studenti& b)
{
if(a.medie_ != b.medie_)
{
return (a.medie_ > b.medie_);
}
return (a.nume_ > b.nume_);
}
medie_
はStudenti nume_
のダブルプライベートメンバであるのはstd ::文字列のプライベートメンバーですメインでStudenti
私はStudentiのリストを持っている: std::list<Studenti> listaStud_ = {stud1, stud2, stud3, stud4, stud5};
関数呼び出し: std::sort(listaStud_.begin(), listaStud_.end(), mediaDescrescator);
エラー:mediaDescrescatorがこのスコープで宣言されていません。
私はこのタイプのソートに関する他のトピックを見てきました。それらは私のように宣言されています。リストの代わりにベクトルタイプを使ってみました。 mediaDescrescator
は、関数ポインタまたは関数オブジェクトとして渡す必要があるため、without()と呼ばれます。
解決策演算子を忘れました...ありがとうございます。 –