2d数组指针不适用于两个维度

2d array pointer not apply to both dimensions

本文关键字:两个 数组 指针 不适用 适用于 2d      更新时间:2023-10-16

我是c++的新手,我似乎无法从另一个类中访问2d数组。这是我到目前为止的尝试,但我很困惑。这是从我试图收集在线,但我不明白,例如,为什么getter函数返回char类型,但在指针的形式?

游戏标题

class Game {
 public:
    char (*getLevel())[28];
 private:
    char level[16][28];
}

Game.cpp

char (*Game::getLevel())[28] {
    return level;
}
pacman->moveEntity(getLevel(), pacman->getXPos(), pacman->getYPos(), direction);

Pacman.cpp

void Pacman::moveEntity(char level, int x, int y, char dir) {
     level[y][x] = ' ';
}

[y]是红色的,并且表示表达式必须有指向对象类型

的指针。

函数签名中level的类型必须与调用它的类型相匹配,在本例中为char level[][28]