Velocity Reviews > C++ > 2d array call in a function

# 2d array call in a function

axcytz@gmail.com
Guest
Posts: n/a

 10-23-2013
Hi all,

I have a 2d array that I declared as:

int array[3][3] ={{1,2,3},{1,3,5},{3,2,5}};
int InitialArray[3] = {..};
int Result;

I also use this in a function:

int Calculate(int myarray[], int array[][3], int result)
{
for(int i=0; i<3 ;i++)
{
for(int j=0; j<i+1 ;j++)
result += array[myarray[i]][myarray[j]];
}
}

In main, I call it as

Calculate(InitialArray, array, Result);

I get some errors because of the 2d array in function. How should i fix this?

expected primary-expression before â]â token
array bound is not an integer constant

Barry Schwarz
Guest
Posts: n/a

 10-23-2013
On Tue, 22 Oct 2013 18:15:10 -0700 (PDT), http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:

>Hi all,
>
>I have a 2d array that I declared as:
>
>int array[3][3] ={{1,2,3},{1,3,5},{3,2,5}};
>int InitialArray[3] = {..};
>int Result;
>
>I also use this in a function:
>
>int Calculate(int myarray[], int array[][3], int result)
>{
> for(int i=0; i<3 ;i++)
> {
> for(int j=0; j<i+1 ;j++)
> result += array[myarray[i]][myarray[j]];
> }
>}
>
>In main, I call it as
>
>Calculate(InitialArray, array, Result);
>
>I get some errors because of the 2d array in function. How should i fix this?
>
>expected primary-expression before â]â token
>array bound is not an integer constant

It would help a whole bunch if you posted your actual code (use cut
and paste, do not retype) and the complete text of the error message.
You might also mention which compiler you are using.

What happens if you put the actual first dimension in the second
parameter?
What happens if you change the second parameter to the equivalent
int(*array)[3]?

--
Remove del for email