我试图将一个2d数组复制到另一个2d数组中,我创建了这两个数组:

#define mapXcor 50
#define mapYcor 50

char secondStage    [mapXcor][mapYcor];
char currentStage   [mapXcor][mapYcor];
//mapXcor and mapYcor are constant integers
现在,我的secondStage[][]数组上填充了值,但没有currentStage[][],我想将secondStage的值分配给currentStage。所以我创建了下面的函数:
void populateArray(char (&arrayA)[mapXcor][mapYcor], char arrayB[mapXcor][mapYcor]) {
    for(int a = 0; a < mapXcor + 1; ++a) {
        for(int b = 0; b < mapYcor + 1; ++b) {
            arrayA[mapXcor][mapYcor] = arrayB[mapXcor][mapYcor];
        }
    }
}

populateArray(currentStage[mapXcor][mapYcor],secondStage[mapXcor][mapYcor]);
但是当我使用该功能时,它给了我一个错误:

我该如何解决?

最佳答案

在for循环中更改赋值语句:

arrayA[mapXcor][mapYcor] = arrayB[mapXcor][mapYcor];

通过
arrayA[a][b] = arrayB[a][b];

10-06 01:59