ensure( InvocationList[ CurFunctionIndex ] != InDelegate )
문제상황
ScriptDelegates.h 코드의
ensure( InvocationList[ CurFunctionIndex ] != InDelegate ) 부분에 Break가 걸리며 오류가 발생했다.
콜스택을 타고 추적하니 Dynamic Delegate하는 부분이 나왔다.
확인해야될 사항
위에서 발생한 문제는 Dynamic Delegate에 관련된 문제다. 해당 경우, 확인할 사항들로는
- Delegate 바인딩한 함수에 UFUNCTION() 을 붙였는지
- Delegate 바인딩을 실수로 여러번 했는지다.
해결
1. UFUNCTION 붙였는지 확인하기 - 이상없음.
2. Delegate 바인딩을 여러번 했는지 확인하기 - 실수함.
부모클래스에서 Dynamic Delegate를 하고, 자식클래스 부분에서도 Dynamic Delegate을 하고 있었다. 자식 부분의 Dynamic Delegate은 지워주니 해결되었다.