我需要将两维向量传递给我的函数。我尝试通过将迭代器传递给数组的开头来做到这一点。但是发生了错误。
using namespace std;
displayArrays(vector< vector< int > >::iterator map_b, vector< int >::iterator row_b, int n, int o){
int i, j;
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
{
cout << *map_b + 1;//error is here
}
cout << endl;
}
cout << endl;
for(i = 1; i < o; i++)
{
cout << *row_b++ << ' ';
}
}
int main(){
int n, o;
cin >> n;
vector< vector< int > > map(n, vector< int >( n ));
//filling up array in loop
o = n * n;
vector< int > row(n*n);
vector< vector< int > >::iterator map_b = map.begin();
vector< int >::iterator row_b = row.begin();
displayArrays(map_b, row_b, n, o);
}
[错误]不匹配&#39;运营商+&#39; (操作数类型是&#39; std :: vector&#39;和&#39; int&#39;)
答案 0 :(得分:0)
也许你想要的是这个:
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
{
cout << (*map_b)[j];
}
cout << endl;
map_b++;
}