title: Error: cannot convert 'int (*)[3]' to 'int (*)[100]' for argument '1' to 'void repl(int (*)[100], int, int)'
body: <p>Hello im trying to write this program which replace each negative number with -1 and positive with 1 
  but an error : </p>
  
  <blockquote>
    <p>[Error] cannot convert 'int (<em>)[3]' to 'int (</em>)[100]' for argument '1' to 'void replace(int (*)[100], int, int)'</p>
  </blockquote>
  
  <p>what does that mean ??</p>
  
  <pre><code>#include&lt;iostream&gt;
  using namespace std;
  void replace(int Arr[][100],int rsize, int csize)
  {
    for(int r=0;r&lt;rsize;r++)
    {
      for (int c=0;c&lt;csize;c++)
      {
        if (Arr[r][c]&gt;0) Arr[r][c]=1;
        else if (Arr[r][c]&lt;0) Arr[r][c]=-1;
        else Arr[r][c]=0;
      }
    }
  
  }
  
  int main()
  {
      int a[4][3]={
      {2,0,-5},
      {-8,-9,0},
      {0,5,-6},
      {1,2,3}};
  
      replace(a,4,3);
  
      for(int i=0;i&lt;4;i++)
        for (int j=0;j&lt;3;j++)
          cout&lt;&lt;a[i][j]&lt;&lt;" ";}cout&lt;&lt;endl;
  
      system ("pause");
      return 0;
  }
  </code></pre>