Le morceau de code suivant vise à trier un vecteur 2D sur la base de la première colonne, mais il renvoie une erreur :
Ligne 8 : Char 43 : erreur fatale : la référence à une fonction membre non statique doit être appelée sort(people.begin(),people.end(), sortfunc); ^~~~~~~~ 1 erreur générée.
class Solution {
public:
bool sortfunc(const vector<int>& v1, const vector<int>& v2){
return v1[0]<v2[0];
}
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(),people.end(), sortfunc);
return people;
}
};
Comme suggéré par @SevastianHoffmann , la fonction lambda fait le travail.
class Solution {
public:
}
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(),people.end(), [](const vector<int>& v1, const vector<int>& v2){
return v1[0]<v2[0];
});
return people;
}
};
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots