c++ passing 2d arrays to funcions

元气小坏坏 提交于 2019-12-02 04:16:14

You've declared array as containing const doubles. They're constant, so you can't write to them as you are trying to do with cin >> array[index][count];. Just change the parameter declaration to:

double array[][DAYS]

Perhaps you should think about when and why you should declare a variable as const.

As an aside to avoid later confusion, it's worth mentioning here that there's no such thing as array type parameters. The above parameter is actually transformed to:

double (*array)[DAYS]

However, your code is written appropriately to work with this (you passed the number of rows to the function).

you declare:

const double array[][DAYS],

however, inside poundsEaten function, you are asking user to input information to fill in the array, which means the array is not const, therefore, error. Remove the const qualifier from the parameter such that the array can be changed by user input.

void poundsEaten(double array[][DAYS], int rows, int cols)

BTW: don't use array as variable name for an array, use some other names for good practice. Meanwhile,cols is not used inside your poundsEaten function.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!