gpt4 book ai didi

c++ - 将二维数组传递给方法

转载 作者:行者123 更新时间:2023-11-28 06:24:52 25 4
gpt4 key购买 nike

const int width = 100, height = 100;
void clearBoard(bool *board[]);

int main(int argc, char *argv[])
{

bool gameboard[width][height];
clearBoard(gameboard);

QApplication a(argc, argv);
MainWindow window;
window.show();

return a.exec();
}

void clearBoard(bool *board[]){
for(int x = 0; x < width; x++)
for(int y = 0; y < height; y++)
board[x][y] = false;
}

目前的错误是:

C2664: 'void clearBoard(bool *[])' : cannot convert argument 1 from 'bool [100][100]' to 'bool *[]'

我想我对指针和 2D 指针的工作原理有基本的了解,但由于某些原因这行不通。如果有人能解释我出错的地方,我会很高兴。

最佳答案

当传递一个 n 维数组作为函数参数时,您可以只隐含第一个维度。请尝试:

void clearBoard(bool board[][height]){
for(int x = 0; x < width; x++)
for(int y = 0; y < height; y++)
board[x][y] = false;
}

关于c++ - 将二维数组传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com