【发布时间】:2014-04-13 11:25:38
【问题描述】:
我有一个 for 循环,我需要循环不同类型的数组,第一个是 map<string,vector<string>>,第二个是 integer 数组。
为了实现这个我做了:
struct {map<string,vector<string>>::iterator it; int i; } s;
int k = 0;
for ( s.it = m.begin(), s.i = 0; s.it != m.end(), s.i < size; s.i+=2)
{
while (k != integer_array[s.i] && k < size)
{
s.it++;
k++;
}
if (k == integer_array[s.i])
{
cout << s.it.first << endl; // this line does not complie
k = 0;
s.it = m.begin();
}
}
解释我想要做什么: integer_array 存储索引,我正在尝试在存储在 integer_array 中的索引处打印地图值。 有什么建议吗?
【问题讨论】:
-
您是否遇到了当前方法的一些问题?
-
我猜
// this line is not complies的意思是“这一行无法编译”。如果我是对的,你能告诉我们编译器的错误信息吗? -
使用逗号,您完全忽略了第一个条件。您必须在逻辑上结合您的条件(可能
&&是您想要的)。