お世話になります
C#
1public class Hit: MonoBehaviour 2{ 3 private bool[][][] hit = new bool[8][][]; 4 5 // Use this for initialization 6 void Start() 7 { 8 int num2,num3; 9 10 11 for (int num = 0; num < 8; num++) 12 { hit[num] = new bool[8][]; 13 for (num2 = 0; num2 < 8; num2++) 14 { hit[num][num2] = new bool[8]; 15 for (num3 = 0; num3 < 8; num3++) 16 hit[num][num2][num3] = false; 17 } 18 19 } 20 21 22 23 } 24 public void setHit(bool val,int num1,int num2,int num3) { 25 26 print("setHit x=" + num1 + " y=" + num2 + " z=" + num3); 27 28 hit[num1][num2][num3] = val; 29 30 31 } 32 public bool getHit( int num1, int num2, int num3) {return hit[num1][num2][num3]; } 33}
上記クラスにおいて、setHit関数を走らせたところ、
hit[num1][num2][num3] = val;
にて
NullReferenceException: Object reference not set to an instance of an object
というエラーが出ました。
この関数の戻り値であり、かつ寸前のprintの表示は、
setHit x=2 y=4 z=2
なので、配列の範囲外を指定して格納しておらず、エラーになる理由が分かりません。
なお、このときのvalはtrueですが、なぜエラーになるのですか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/03 13:18