Isih Senarai dengan Fungsi Isih STL
Apabila mengisih senarai dalam tertib menurun menggunakan fungsi isihan STL, anda mungkin menghadapi ralat penyusunan jika senarai anda mengandungi item struct dan fungsi pembanding tidak ditakrifkan dengan betul. Ralat "tiada padanan untuk 'operator-' dalam '__last - __first'" menunjukkan bahawa fungsi isihan tidak dapat menentukan susunan elemen dalam senarai anda.
Isu timbul kerana fungsi isihan memerlukan iterator akses rawak, yang std::list
Untuk menyelesaikan isu ini, anda harus menggunakan fungsi std::list
Berikut ialah contoh cara anda boleh menggunakan std::list
Result.poly.sort([](const term& t1, const term& t2) { return t2.pow < t1.pow; });
Fungsi pembanding tersuai ini akan mengisih senarai struct anda dengan betul dalam tertib menurun berdasarkan medan pow dalam setiap struct.
Atas ialah kandungan terperinci Mengapa saya mendapat 'tiada padanan untuk 'operator-' dalam '__last - __first'' apabila mengisih senarai dalam tertib menurun menggunakan isihan STL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!