当我尝试将sales数组传递给函数时,我得到了:error
C2664:'printArray':无法将参数1从'int [4] [5]'转换为'int'
这是数组和调用:
int sales[4][5], row, column;
for (row = 0; row < 4; row++)
{
for (column = 0; column < 5; column++)
{
cin >> sales[row][column];
}
}
printArray(sales);
这是函数:
void printArray(int A[4][5])
{
for(int R=0;R<4;R++)
{
for(int C=0;C<5;C++)
cout<<setw(10)<<A[R][C];
cout<<endl;
}
}
提前致谢。
答案 0 :(得分:2)
试试这个
void printArray(int A[][5])
{
for(int R=0;R<4;R++)
{
for(int C=0;C<5;C++)
cout<<setw(10)<<A[R][C];
cout<<endl;
}
}
希望这会有所帮助.. :)
修改强> 还有其他一些方法可以做到这一点。以为我分享给你:
您可以传递指针数组。
void printArray(int *A[4])
您可以将指针传递给指针。
void printArray(int **A)
答案 1 :(得分:0)
您应该将printArray函数修改为以下内容:
void printArray(int *A, int row, int col)
{
for(int R=0;R<row;R++)
{
for(int C=0;C<col;C++)
cout<<A[R * col + C] << endl;
}
}
然后你调用这个函数如图所示:
printArray(&sales[0][0], 5, 5);
请注意,您将行和列计数作为值传递给函数