I am trying to pass a 2D array to a function following is my code.
float solve(float arr[(nsamples*numImages)+255][256 + nsamples]){
    return 0;
}
int main(){
    nsamples = 100;
    numImages = 5;
    float arr[ (nsamples*numImages)+255][256 + nsamples];
    float res = solve(arr);
    return 0;
}
nsamples and numImages are globals. I am getting the following error
candidate function not viable: no known conversion from
      'float [(nsamples * numImages) + 255][256 + nsamples]' to 'float (*)[256 +
      nsamples]' for 1st argument
int solve(float arr[(nsamples*numImages)+255][256 + nsamples]){
I have tried the variations given here but nothing worked.
 
    