【发布时间】:2013-07-02 23:29:07
【问题描述】:
有没有更简单的方法来解决这个问题,或者我做错了什么?我认为我的问题的核心在代码中,
vector<int> &v = miss_words[*i];
但也许我只是把整个概念弄错了。有什么建议吗?
代码:
void print_map(map<string, vector<int> > miss_words) // Prints out dictionary set
{
map<string, vector<int> >::iterator it = miss_words.begin(); // Creates an iterator
while(it != miss_words.end()) // While hasn't reached the end
{
vector<int> &v = miss_words[*it]; // Accesses Vector in map
for(unsigned int g = 0; g <= v.size(); g++)
{
cout<<v.at(g)<<": ";
cout<<v.at(g)<<" "<<endl; // Print out data at i
}
it++; // Increment iterator
}
}
编译器会说“在miss_words中没有'operator[]'的匹配项。
【问题讨论】:
-
<=非常可疑。 -
你的权利...稍后抛出错误...感谢您的帮助! @KerrekSB