NullReferenceException 예외) 같은 실수하시는분 계실까봐 남겨요
66
1 asked
while (parent[y, x].Y != y || parent[y, x].X != x)이 while 문에서 NullReferenceException 예외가 걸리는경우.
Initialize 함수를 확인해보시길 바랍니다.
public void Initialize(int PosY, int PosX, Board board)
{
PosY = PosY;
PosX = PosX;
_board = board;
BFS();
}이부분을 이렇게 수정하시거나
public void Initialize(int posY, int posX, Board board)
{
PosY = posY;
PosX = posX;
_board = board;
BFS();
}또는 this. 으로 수정해도 되네요.
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. 윤코코님.
NullReferenceException 관련 오류는 코드에서 객체나 변수가 초기화되지 않은 상태에서 접근할 때 발생하는 문제입니다. 질문하신 내용에서는 Initialize 메서드의 매개변수 이름과 인스턴스 변수의 이름이 같아서, Initialize 메소드 내부에서 전달받은 매개변수가 그대로 사용되지 않고 있음을 알 수 있습니다.
귀하의 사례에서 Initialize 메서드 내에서 값을 올바르게 할당하기 위해서는, 전달받은 매개변수 posY와 posX를 정확히 인스턴스 변수 PosY, PosX에 할당해야 합니다. 이를 위해 변수 할당 시 this 키워드를 사용하거나 매개변수 이름과 인스턴스 변수 이름을 다르게 설정해주는 것이 좋습니다. 수정된 코드를 예시로 보여드린 부분 처럼 변경하시면 문제가 해결됩니다.
관련해서 유사한 질문이 있었고 해결책이 제시된 다른 게시물을 참조하실 수 있습니다:
- BFS함수의 두 번째 while문 조건에 대하여
여기서 지식공유자께서 while 루프 내의 참조 상태 문제를 다루셨으며, != 연산자에 대한 참조 비교 문제에 대해 자세히 설명해주셨습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
게임개발에서 주로 어느부분에 알고리즘들이 쓰이는지 궁금합니다
0
171
2
글꼴 바꿔도 자간이 좁아 찌그러져보이시는 분들
0
88
1
parent를 Pos타입으로 만든 이유
0
74
1
콘솔창에 격자가 안나옴 미로 생성 X
0
133
1
격자 생성 안됨 무한루프
0
114
1
BFS 질문
0
143
2
격자 무한 출력
0
167
2
A* 의 PriorityQueue 관련 질문입니다
0
155
2
vscode에서 원그리기
0
180
1
환결설정 강의 원 그리기
0
122
1
15-17분
0
87
1
3:16초에 근데 이렇게 해가지고 부분에 "{}"를 만들어서 자식 node들을 생성하던데 왜 중괄호로 감싸게 만드는 건가요?
0
141
2
동적 배열 관련 질문입니다!
0
209
1
Big-o 표기법에서 시간 복잡도
0
167
1
7:40에서 언급하신 색상이 날아가는 문제 이해를 못하겠습니다
0
151
1
트리구현연습 강의 질문있어요
0
142
1
창은 뜨는데 맵이 나타나지 않아요.
0
175
1
Ctrl F5 하면 나오는 창은 어디서 설정할까요??
0
271
1
void CalcPathFromParent(Pos[,] parent)에 대해서
0
202
2
NullReferenceException예외가 발생했을때 어떻게 해야하나요?
0
229
1
[해결] 환경설정 강의에서 원이 이상하게 그려지는 문제
3
311
2
오른손 법칙에서 플레이어 점이 안 움직입니다
0
245
2
맵 만들기 오류
0
179
1
맵 만들기 부분 오류
0
236
1

