1
Hallo Ich möchte wissen, wie man die Karte sortiert, welche Tkey-Variable Pointer-Typ ist. Es gibt getName Funktion, die Char * Typ zurückgeben. also habe ich versucht, mit strcmp zu vergleichen. Aber es gibt einen Fehler im Rückgabeteil.C++ Map Pointer Variablensortierung
struct Compare_P {
inline bool operator()(Person const& a, Person const& b) {
return (strcmp(a.getName(), b.getName())) < 0;
}
};
map<Person*, House*, Compare_P>A_List;
'Compare_P' muss' Operator() 'ein Paar' Person nimmt * 'Zeiger anstelle von (oder zusätzlich to) man nimmt ein Paar von Referenzen. Die Schlüssel in Ihrer Map sind vom Typ 'Person *'; Sie brauchen einen Komparator, der diese Schlüssel vergleichen kann, nicht einen anderen Typ, auch wenn er verwandt ist. –