二维数组指针不适用于两个维度 我是C++新手,我似乎无法从另一个类中访问二维数组。这是我迄今为止的尝试,但我感到困惑。这是我试图在线收集的内容,但我不明白,例如,为什么getter函数返回的是char类型,而不是指针形式

二维数组指针不适用于两个维度 我是C++新手,我似乎无法从另一个类中访问二维数组。这是我迄今为止的尝试,但我感到困惑。这是我试图在线收集的内容,但我不明白,例如,为什么getter函数返回的是char类型,而不是指针形式,c++,c,arrays,pointers,C++,C,Arrays,Pointers,比赛头球 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

比赛头球

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] 是红线,表示表达式必须有指向对象类型的指针

函数签名中的
级别
的类型必须与调用它的类型匹配,在这种特殊情况下,
字符级别[][28]

显然您已经特意从该函数返回了指针,你真的在问我们为什么函数会返回一个指针?请发布一个。这不是失败的代码。因为参数
level
是一个字符,并且您无法将
char(*)[28]
转换为
char
叹气,所以新手很难提问。我提到了第一部分,因为我实际上没有将类型指定为char*。它是char,但返回一个指针。今晚所有的反对票是怎么回事?这些人显然是来寻求帮助的。如果你来这里只是为了投反对票或诽谤,而没有提供任何指导,那么你来这里的理由是错误的。如果你需要更多的信息或者想建议他遵守规则,那就不必投反对票。如果你不能区分真正寻求帮助的人和试图通过游戏来完成任务的人,那么你就不需要在这里。我们在这里是为了帮助,而不是贬低。记住这一点。或者如果你想用同样的风格来写的话,
char(*level)[28]