Here are two functions:
I am passing visited
2D array by reference from maxReign() to traverse(). But getting error: error: use of parameter outside function body before ‘]’ token
int traverse(int n, bool visited[][n], vector<vector> grid,int x, int y)
#include <vector>
using namespace std;
int traverse(int n, bool visited[][n], vector<vector<int>> grid,int x, int y){
int storeA[] = {-1, -1, -1, 0, 0, 1, 1, 1};
int storeB[] = {-1, 0, 1, -1, 1, -1, 0, 1};
int count = 0;
for(int k =0; k<8; k++){
if(grid[x+storeA[k]][y+storeB[k]] == 1 || isValid(x+storeA[k], y+storeB[k], n)){
visited[x+storeA[k]][y+storeB[k]] = true;
count++;
}
}
return count;
}
int maxRegion(vector<vector<int>> grid) {
bool visited[grid.size()][grid[0].size()];
for(int i =0; i<grid.size(); i++){
for(int j =0; j<grid[0].size(); j++){
visited[i][j] = false;
}
}
int maximum = -1, m = -1;
for(int i =0; i<grid.size(); i++){
for(int j =0; j<grid[0].size(); j++){
if(visited[i][j] == false){
int m = traverse(grid[0].size(), visited, grid, i, j);
maximum = max(maximum, m);
}
}
}
return maximum;
}
I am passing column size (n) before passing visited
array in traverse array, but I am getting this error.