私は2Dプラットフォーマーを開発しています。問題を解決するのが難しいまで、すべてがうまくいきました。レベルマップは動的多次元配列(char **map)に格納されます。再定義するまでは問題なく動作します
コードの一部は次のとおりです。
Map& Map::operator=(const Map& rhs)
{
if(width!=0||height!=0)
{
for(int i=0;i<width;i++)
delete[] map[i];
delete[] map;
} //deleting previously created array
height=rhs.height;
width=rhs.width; //receiving other map's size
map=new char* [width];
walkmap=new unsigned char* [width];
objmap=new char* [width];
for(int i=0;i<width;i++)
{
*(map+i)=new char[height];
} //creating new array
for(int h=0;h<height;h++)
for(int w=0;w<width;w++)
{
map[w][h]=rhs.map[w][h];
} //receiving new values
//...
}
最初はすべて正常に動作しますが、配列を 2 回目に再定義する必要があるとき、配列が別の配列から新しい値を受け取るときに、その部分でプログラムがクラッシュします。私は何かを見逃しているかもしれませんが、私はそれを見つけることができません! 私はこの問題を探していましたが、私が間違っていることを見つけられませんでした。お願い助けて。