【发布时间】:2011-12-11 23:14:42
【问题描述】:
我想在 C++ 中实现一个向量的哈希图。这是我的代码:
#include <cstdlib>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
#include <ext/hash_map>
using namespace __gnu_cxx;
int main (int argc, char * const argv[]) {
std::vector<int> v;
hash_map<int, std::vector<int> > months;
v.push_back(28);
v.push_back(28);
v.push_back(28);
v.push_back(29);
months["february"] = v; //error = invlalid conversion from const char* to int
return 0;
}
以上代码编译失败。错误包括在相关行旁边。这与我省略了可选参数(散列和比较)的值有什么关系吗?
【问题讨论】:
-
尝试使用月份数字而不是密钥名称。比如一月=0,二月=1等等。然后你的电话看起来像这个月[1] = v;