2016-08-02 2 views
0

프로그래밍 녹을 떨쳐 버리고 화음으로 주위를 돌고 있지만 초기화 중에 NullReferenceException을 실행 중입니다. 여전히 null 참조를 일으키는 2 차원 어레이를 초기화하십시오.

내가

public class Map : MonoBehaviour 
{ 
    int[,] Tile; 
    int sizeX; 
    int sizeY; 
    void Start() 
    { 

      for (int posX = 0; posX != sizeX; posX++) 
      { 
       for (int posY = 0; posY != sizeY; posY++) 
       { 
        Tile[posX, posY] = new int() 0; 

       } 
      } 
    } 
} 

Tile[posX,posY] = new int() 0; 

가 null 참조를 던지는 유지하는 선 아래 스 니펫을 참조 클래스의 정수의 2 차원 배열을 가지고, 내가 그것을 여러 가지 방법을 초기화하기 위해 노력하고 의도 한대로 게임 개체 대신 int 컨테이너를 사용하도록 구조가 변경되었지만 여전히이 오류가 발생합니다.

내 모든 연구는 내가 초기화해야한다고 말하고 있지만 내 마음 속에있다! 내가 어디로 잘못 갔니? 내 검색어로 뭔가를 놓친 경우 또는이 질문을 게시하여 다른 사람의 시간을 낭비하는 경우 미리 사과하십시오.

고마워요

+1

:'INT [,] 타일 = 새로운 INT [SIZEX, SIZEY]'당신이 할 때, 0을 모두 포함하므로 루프가 필요하지 않습니다. 또한, 새로운 int() 0;은 유효한 코드가 아닙니다. –

+0

너무 빨리 응답 해 주셔서 감사드립니다. 어젯밤에 똑같은 일을 시도한 것 같아! 그러나 나는 오늘 그것을 시도하고 정확히 말한대로 일했습니다. 정말 고마워요. – DevSol

답변

1

글쎄,이 오류는 배열이 초기화되지 않았기 때문에 발생합니다. 당신은 Tile[x,y] = some int를 사용하여, 그 외에 Tile = new int[sizeX, sizeY];

같은 누락

당신은 배열 필드를 초기화된다.

이 (Btw은 내가 대해 heared하지 않은 일부 공상 구문 new int() 0입니까?) 당신은 타일 초기화되지 않았습니다

관련 문제