작성
·
200
·
수정됨
1
강의 코드와 같이 작성했으나 CharacterOwner에 멤버함수에 대해 접근이 안됩니다.
//.h FIle
class ARENABATTLE_API UABCharacterMovementComponent : public UCharacterMovementComponent
분명 UCharacterMovementComponent 클래스를 상속받았고 UCharacterMovementComponent 클래스안에 ACharater에대한 선언도 있는듯 한데
CharacterOwner포인터가 incompleted class라고 하면서 클래스 내부에 대해 접근을 하지못하네요..ㅠㅠ
FVector TargetLocation = CharacterOwner->GetActorLocation() + CharacterOwner->GetActorForwardVector() * TeleportOffset;
#include "GameFramework/Character.h"
우선 해당 클래스를 cpp에 포함시켜서 해결은 했는데 저만발생하는거같아 이상하네요
더좋은 방법이 있을까요??
아래는 에러코드들입니다.
error C2027: use of undefined type 'ACharacter'
error C2039: 'GetActorLocation': is not a member of 'TObjectPtr<ACharacter>
error C2027: use of undefined type 'ACharacter'
답변 1
1
안녕하세요 현재 버전이 어떻게 될까요?
말씀하신대로 클래스 선언을 참조할 수 없어서 발생한 문제로 보여지고요,
버전마다 특정 헤더 파일의 포함 여부에 차이가 있어서 cpp파일에 추가해주면 될 것 같습니다.
음.. 저의 경우 빌드는 성공적으로 되고, 인텔리센스 오류만 나옵니다.
커뮤니티 에디션 최신 버전 ( 17.9.1 )으로 테스트했습니다.
다만 제안주신대로 헤더를 추가하는 것이 바람직합니다.
제보 감사합니다~
#include "Character/ABCharacterMovementComponent.h"
#include "GameFramework/Character.h"
#include "ArenaBattle.h"
답변 감사합니다. 5.1 버전을 사용중인데 강의자료로 빌드해보아도 같은 이슈인걸로보아
코드에서 발생하는건 아닌거같고 말씀주신대로 버전이나 컴파일과정중에 뭔가 다른게 있지않을까 예상해보고있습니다.