'error C2227: left of '->GetOwner' must point to class/struct/union/generic type' Not sure what I am doing wrong?

Hi guys.

Currently getting this error.

Trying to get the Parent Object that this component will be attached to, and then return it’s name in the log (as a test), but not sure what other header files I am missing?

Any advice would be welcome :slight_smile:


#include “GameFramework/Actor.h”
#include “CoreMinimal.h”
#include “Components/ActorComponent.h”
#include “OnHitDetection.generated.h”

UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
class TEMPLE_API UOnHitDetection : public UActorComponent

// Sets default values for this component’s properties

// Called when the game starts
virtual void BeginPlay() override;

// Called every frame
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;


void ReturnActorCollisionInfo();

AActor* MyCollider = GetOwner()->GetRootComponent()->GetAttachParent->GetOwner();
//AActor* MyCollider = GetOwner()->GetRootComponent()->AttachParent->GetOwner();

I’m still learning c++ but I don’t think your suppose to be assigning the variable in your header file. You’re getting the c2227 error because GetAttachParent is a method and should be GetAttachParent() but even if you fix that I still don’t think it will work.

GetAttachParent and is missing ()
should be GetAttachParent()…tAttachParent/

As mentioned by SharksArePeople2, try moving this line of code to cpp file on BeginPlay or PostInitializeComponents. Constructor wont work because GetOwner() will return null.