Ich versuche, einige ganze Zahlen zu sortieren und ungerade ganze Zahlen gefolgt von geraden vorzunehmen. Ich bin mit Visual Studio 2015Fehler: "Ungültiger Vergleicher" beim Sortieren mit benutzerdefinierter Vergleichsfunktion
Hier ist mein Code:
int w[]={1,2,3,4,5,6};
sort(w,w+6,[](const int&i,const int&j)->bool {
return (i&1)==(j&1)//When both are odd or even, the order is OK
||i&1;//if one is odd and one is even,check if the first one is odd
});
Wenn er ausgeführt wird, ein Fehler auftritt, sagt "Expression: ungültige Komparator". Ich weiß nicht, warum es diesen Fehler verursachen würde. Wie man es ändert?
... es ist * möglich, 'sort' für Partitionierung zu missbrauchen, aber das ist die beste Antwort. – Potatoswatter