board
スタック上に作成されたオブジェクト ( と呼ばれる配列) へのポインターを返していることを確認してください。配列はスコープ外になると破棄されるため、ポインターは有効なオブジェクトを指しなくなります (ダングリング ポインター)。
を使用して、代わりに配列がヒープに割り当てられていることを確認する必要がありますnew
。最新の C++ で動的に割り当てられた配列を作成するための神聖な方法は、std::vector
クラスのようなものを使用することですが、2D 配列を作成しようとしているため、ここではより複雑です。
char **createBoard()
{
char **board=new char*[16];
for (int i=0; i<16; i++)
{
board[i] = new char[10];
for (int j=0; j<10; j++)
board[i][j]=(char)201;
}
return board;
}
void freeBoard(char **board)
{
for (int i=0; i<16; i++)
delete [] board[i];
delete [] board;
}