Two-dimensional array

Two-dimensional array

How can I dynamically declare a 2D array and pass it as a parameter to a function?Here’s an example of what I’m trying to do:

#include #include #include const SIZE = 50;void display (float myArray[][]){    for (int i = 0; i Here are the error codes I get:
cd /a/home/ce/ugrad/stinson/cs/354/temp/g++ -g -o array pointer or reference to array of unknown bound in parm In function `void display(float (*)[])’ invalid use of array with unspecified In function `int main(…)’ assignment to `float *’ from `float (*)[50]’ invalid types `float[int]’ for array passing `float *’ as argument 1 of `display(float (*)[])’Compilation exited abnormally with code 1 at Thu Apr 17 10:13:41

When using the array syntax, the compiler must always know the size of thearray that is being used; hence the error.The way to solve it is to define the display method as

void display (float myArray[][SIZE]);
void display (float **myArray);
Also, remember the display function must somehow be able to know howmany items were actually allocated in both cases.

In main() you are also assigining the return value from new float [SIZE][SIZE] to a float * this is an erroryou should make the type of myArray to float ** to correct this error.


Share the Post: