【发布时间】:2011-03-17 16:06:25
【问题描述】:
我想使用 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++ 很陌生。
如何在地图中使用一对作为键?一般来说,我如何使用任何类型的结构(对象、结构等)作为映射中的键?
谢谢!
【问题讨论】:
-
以后,请发布您收到的错误消息。否则,人们通常很难或不可能帮助您。 :)
-
如果您确实发布了这些错误,我相信我们也可以帮助解释它们的含义以及您将来看到它们时如何解释它们。
-
请注意,使用字符串文字,比较的是字符串的地址,而不是字符串本身。你最好使用
std::string。