我需要一个带有2d数组的类,该类用于在板上存储位置。但是我不能构造一个使它正确设置此字段的构造函数。
这是我得到的数组类型无法分配错误的代码,单元格是typedefStruct
Board::Board(waterCraft * listOfCraft, cell gameBoard[][10]) {
this->listOfCraft = listOfCraft;
this->gameBoard = gameBoard;
}
最佳答案
cell**
类型,即指向指针的指针:cell** gameBoard
或cell* gameBoard[]
cell[10][10]
类型(假设行数为10),即二维数组:constexpr int R = 10, C = 10;
Board::Board(waterCraft * listOfCraft, cell gameBoard[R][C]) {
this->listOfCraft = listOfCraft;
std::copy(&gameBoard[0][0], &gameBoard[0][0] + R*C, &this->gameBoard[0][0]);
}
关于c++ - 如何使用2d数组作为参数创建C++构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60552009/