C++で、いくつかの配列をまとめた多重配列をつくりたいのですが上手く代入されません。
Player_Panel,Enemy_Panelは3*3行列の配列 Panel_ALL配列は、Player_Panel,Enemy_Panel配列をまとめた6*6行列の配列 ------------------------------------------------------------------------- int i=0; int j=0; for (i = 0;i < 3;i++) { for (j = 0;j < 3;j++) { Player_Panel[i][j] = new Panel_Field((Panel_Blue*)p_blue,D3DXVECTOR3(Side_Location + (SIZE*j), Player_Location - (i*SIZE), 0.f), D3DXCOLOR(0.f, 1.f, 1.f, 0.6f), SIZE,i+3,j); Enemy_Panel[i][j] = new Panel_Field((Panel_Blue*)p_blue,D3DXVECTOR3(Side_Location + (SIZE*j), Enemy_Location - (i*SIZE), 0.f), D3DXCOLOR(1.f, 1.f, 0.f, 0.6f), SIZE,i,j); Panel_ALL[i][j] = Player_Panel[i][j]; /*代入される*/ index_w = i + 3; index_h = j + 3; Panel_ALL[index_w][index_h] = Enemy_Panel[i][j]; /*代入されない*/ } } ------------------------------------------------------------------ for (i = 0;i <6;i++) { for (j = 0;j < 6;j++) { Panel_ALL[i][j]->Update(); /*j=3のときにエラーが発生(NULLへの参照)*/ } }
Panel_All配列使うときに、Panel_ALL[][3]以降の要素に参照するとNULLへの参照になるため、おそらくEnemy_Panel配列が代入できていないと考えています。なぜ代入されないのでしょうか?
この原因のご教授願います。
最低限、問題が再現できるだけのソースを上げて下さい。
また、環境(OS、処理系等)を提示して下さい。
回答2件
あなたの回答
tips
プレビュー