作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试遍历 map 以读出一个字符串,然后将 vector 中的所有数字读入一个文件。我复制并粘贴了 typedef 行,然后将其调整为我的代码,所以我不确定它是否正确。无论如何,Visual Studio 在我的循环中使用 iterator_variable 时给我错误。它说类型名称是不允许的。我该如何解决这个问题?
ofstream output("output.txt");
typedef map<string, vector<int>>::iterator iterator_variable;
for (iterator_variable iterator = misspelled_words.begin(); iterator != misspelled_words.end(); iterator++)
{
output << iterator_variable->first;
for (int i = 0; i < misspelled_words.size(); i++)
{
output << " " << iterator_variable->second[i];
}
output << endl;
}
最佳答案
您应该像 iterator->first
而不是 iterator_variable->first
那样访问迭代器。
对于内部循环,您可能希望通过 0 迭代到 iterator->second.size()
而不是 misspelled_words.size()
。
ofstream output("output.txt");
typedef map<string, vector<int>>::iterator iterator_variable;
for (iterator_variable iterator = misspelled_words.begin(); iterator != misspelled_words.end(); iterator++)
{
output << iterator->first;
for (int i = 0; i < iterator->second.size(); i++)
{
output << " " << iterator->second[i];
}
output << endl;
}
关于C++:遍历 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21592409/
我是一名优秀的程序员,十分优秀!