Voglio usare una coppia da STL come chiave di una mappa.Utilizzo della coppia come chiave in una mappa (C++/STL)
#include <iostream>
#include <map>
using namespace std;
int main() {
typedef pair<char*, int> Key;
typedef map< Key , char*> Mapa;
Key p1 ("Apple", 45);
Key p2 ("Berry", 20);
Mapa mapa;
mapa.insert(p1, "Manzana");
mapa.insert(p2, "Arandano");
return 0;
}
Ma il compilatore gettare un mucchio di informazioni illeggibili e io sono molto nuovo per C e C++.
Come posso utilizzare una coppia come chiave in una mappa? E in generale Come posso usare qualsiasi tipo di struttura (oggetti, strutture, ecc.) Come chiave in una mappa?
Grazie!
In futuro, si prega di inviare i messaggi di errore che si ottiene. Altrimenti, può essere spesso difficile o impossibile per le persone aiutarti. :) –
Se pubblichi gli errori, sono sicuro che potremmo anche aiutarti a spiegare cosa significano e come puoi interpretarli quando li vedi in futuro. –
Si noti che, utilizzando i valori letterali stringa, vengono confrontati gli _addresses_ delle stringhe, non le stringhe. Faresti meglio a usare 'std :: string'. – sbi