[英]C++ edit value in 2d array
void update(bool **board){
*(*(board + 2) + 1) = true;
}
int main(){
bool board[3][2] = { false };
update(board);
for (int i = 0; i < 3; i++){
for (int j = 0; j < 2; j++){
if (board[i][j] == true){
cout << "board[" << i << "][" << j << "] is true;" << endl;
}
}
}
}
我哪里錯了? 另外,你能不能多談談數組和指針?
當你有一個功能
void update(bool **board){
*(*(board + 2) + 1) = true;
}
使用以下方法調用它是錯誤的:
bool board[3][2] = { false };
update(board);
board
衰減到bool (*)[2]
,而不是bool**
。
您需要將update
定義為:
void update(bool (*board)[2]){
board[2][1] = true; // Simpler
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.