[UE] cannot instantiate abstract class
순수 가상함수(pure virtual function)을 선언만 하고 정의하지 않고 넘어가면 cannot instantiate abstract class 라는 에러 메시지를 발생하며 컴파일 되지 않는다. 작업하다보면 실수하고 넘어갈 수 있는 부분이기 때문에 해당 에러를 발견하면 즉시 순수 가상함수를 의심하자.
cannot instantiate abstract class 문제
문제상황
아래와 같은 에러 메시지가 뜨며 컴파일 되지 않는다.
이유 및 해결방안
cannot instantiate abstract class
추상클래스를 인스턴스 생성할 수 없어 발생하는 에러다.
추상클래스는 순수 가상함수를 포함하는 클래스로 순수 가상함수는 자식 클래스에서 반드시 정의 해주어야 한다.
순수 가상함수를 자식 클래스에서 정의하면 문제는 해결된다.
나의 경우 인터페이스에서 순수 가상함수를 선언한 후 이를 상속받는 캐릭터 클래스에서 재정의를 해주지 않았다.
선언해놓고 나중에 재정의해야지라고 생각하고 넘겼던게 원인이었다.
캐릭터 클래스에서 순수 가상함수를 재정의하여 문제를 해결하였다.
'⭐ Unreal Engine > UE Debugging Log' 카테고리의 다른 글
[UE] 아이템 드랍 후 바닥에 떨어뜨리기 (0) | 2024.05.26 |
---|---|
[UE] 언리얼 에디터 버그: BP의 부모 클래스가 계속 바뀌는 버그 ( DefaultEngine.ini 의 CoreRedirect 문제) (0) | 2024.05.26 |
[UE] 한 주기 당 RPC 전송량 변경. MaxRPC Per NetUpdate 값 변경하기 (0) | 2024.05.13 |
[UE] ScriptDelegates.h: ensure( InvocationList[ CurFunctionIndex ] != InDelegate ) (0) | 2024.05.03 |
[UE] C++로 작성한 구조체 DataTable의 Row Type으로 노출시키기 (0) | 2024.04.29 |
댓글
이 글 공유하기
다른 글
-
[UE] 아이템 드랍 후 바닥에 떨어뜨리기
[UE] 아이템 드랍 후 바닥에 떨어뜨리기
2024.05.26 -
[UE] 언리얼 에디터 버그: BP의 부모 클래스가 계속 바뀌는 버그 ( DefaultEngine.ini 의 CoreRedirect 문제)
[UE] 언리얼 에디터 버그: BP의 부모 클래스가 계속 바뀌는 버그 ( DefaultEngine.ini 의 CoreRedirect 문제)
2024.05.26 -
[UE] 한 주기 당 RPC 전송량 변경. MaxRPC Per NetUpdate 값 변경하기
[UE] 한 주기 당 RPC 전송량 변경. MaxRPC Per NetUpdate 값 변경하기
2024.05.13 -
[UE] ScriptDelegates.h: ensure( InvocationList[ CurFunctionIndex ] != InDelegate )
[UE] ScriptDelegates.h: ensure( InvocationList[ CurFunctionIndex ] != InDelegate )
2024.05.03