유니티 stackoverflowexception

박지예·2021년 11월 7일
0

공부

목록 보기
24/42
post-thumbnail

설명!

처음보는 종류의 에러다
StackOverflow라는 익숙한 단어가 보인다. C언어를 공부할 때, 배열의 인덱스 값을 넘어설때 볼 수 있었다.

인터넷에 검색해 보니

무한 반복 되기 때문에 발생하는 에러

라고 한다


원인!

이제 내 코드를 살펴보자

public override void OnCrash(Actor attacker, int damage)
    {
        OnCrash(attacker, damage);
    }

에러가 난 코드를 보면 딱 답이 나온다
OnCrash함수를 보자, 함수 안에서 또 OnCrash함수를 부르고 있다


해결!

원래는 이 코드의 부모 코드(Actor)의 OnCrash를 불러와야 한다
자바에서는 super키워드로 불러오는데, C#은 base다.

public override void OnCrash(Actor attacker, int damage)
    {
       base.OnCrash(attacker, damage);
    }
profile
언젠간 바다로 갈거야!🐋

0개의 댓글