Passing of 2d array

Error in code blocks while passing a 2d array to a function
Here’s is the code :

#include
using namespace std;
void spiral_print(int a[][1000], int m, int n){
int startRow=0;
int startCol=0;
int endRow=m-1;
int endCol=n-1;
while(startRow<=endRow && startCol<=endCol){
for(int i=startCol;i<=endCol;i++){
cout<<a[startRow][i]<<" ";
}
startRow++;

    for(int i=startRow; i<=endRow;i++){
        cout<<a[i][endCol]<<" ";
    }
    endCol--;
    if(endRow>startRow){
        for(int i=endCol;i>=startCol;i--){
            cout<<a[endRow][i]<<" ";
        }
        endRow--;
    }

    if(endCol>startCol){
        for(int i=endRow;i>=startRow;i--){
            cout<<a[i][startCol]<<" ";
        }
        startCol++;
    }

}

}
int main(){
int m,n;
cin>>m>>n;
int a[1000][1000]={0};
int val = 1;
for(int row=0;row<=m-1;row++){
for(int col=0;col<=n-1;col++){
a[row][col]=val;
val++;
cout<<a[row][col]<<" “;
}
cout<<”\n";
}
spiral_print(a,m,n);

}