【发布时间】:2010-01-18 16:40:27
【问题描述】:
我有一个
HashMap<Node, Double>
在 Java 中,我稍后将使用它来检索与节点关联的双精度。我试过了
boost::unordered_map<Node*, double>
但是当我尝试在其中放入一些东西时,我得到一个“错误 C2108:下标不是整数类型”,例如:
map[some_node] = some_double;
如果我正确解释了错误,那么我必须用一个 int 替换我的 double。有没有简单的方法解决这个问题?
好的,下面是函数:
void myClass::someFunction(const double* r)
{
//map is boost::unordered_map<Node*, double>
//nodes is a pointer to std::vector<Node*>
std::vector<Node*>::iterator it;
for(it = nodes->begin(); it != nodes->end(); it++)
{
//calculate the index
map[*it] = r[index]; //error
}
}
【问题讨论】: