map<vector<string>,int>::iterator it_ci = complexmap_idf.begin();
for (; it_ci != complexmap_idf.end(); ++it_ci)
{
vector<string> temp_vec_1 = it_ci->first;
vector<string>::iterator it_ci_sub = temp_vec_1.begin();
for (; it_ci_sub != temp_vec_1.end(); ++it_ci_sub)
{
cout << *it_ci_sub << " ";
}
cout << endl;
}
这样写是可以的
但是
map<vector<string>,int>::iterator it_ci = complexmap_idf.begin();
for (; it_ci != complexmap_idf.end(); ++it_ci)//用来结构vector嵌套的复合物
{
vector<string>::iterator it_ci_sub = (it_ci->first).begin();
for (; it_ci_sub != temp_vec_1.end(); ++it_ci_sub)
{
cout << *it_ci_sub << " ";
}
cout << endl;
}
这样写是报错的
为什么尼