Я хочу использовать пару из STL в качестве ключа карты.Использование пары в качестве ключа на карте (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;
}
Но компилятор бросает кучу нечитаемой информации, и я очень новичок в C и C++.
Как я могу использовать пару в качестве ключа на карте? И вообще Как я могу использовать любую структуру (объекты, структуры и т. Д.) В качестве ключа на карте?
Спасибо!
В будущем, пожалуйста, напишите сообщения об ошибках, которые вы получаете. В противном случае люди могут часто быть трудными или невозможными для людей, чтобы помочь вам. :) –
Если вы публикуете ошибки, я уверен, что мы также можем помочь объяснить, что они означают и как вы можете интерпретировать их, когда увидите их в будущем. –
Обратите внимание, что, используя строковые литералы, сравниваются _addresses_ строк, а не сами строки. Вам лучше использовать 'std :: string'. – sbi