First Id like to know how I can learn more about C++ Programming in UE4.

Second What is wrong with the code

PickupMesh->AttachToComponent(PickupRoot, FAttachmentTransformRules::KeepWorldTransform);

My Code:

// Fill out your copyright notice in the Description page of Project Settings.

#include "YT.h"
#include "Pickup.h"

// Sets default values
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;
    PickupRoot = CreateDefaultSubobject<USceneComponent>(TEXT("PickupRoot"));
    RootComponent = PickupRoot;

    PickupMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("PickupMesh"));
    PickupMesh->AttachToComponent(PickupRoot, FAttachmentTransformRules::KeepWorldTransform);
    PickupBox = CreateDefaultSubobject<UBoxComponent>(TEXT("PickupBox"));
    PickupBox->SetWorldScale3D(FVector(1.0f, 1.0f, 1.0f));

// Called when the game starts or when spawned
void APickup::BeginPlay()

// Called every frame
void APickup::Tick( float DeltaTime )
	Super::Tick( DeltaTime );


void APickup::OnPlayerEnterPickupBox(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)

What is the error you are getting when you try compile this code?

Use Of Undeclared ‘FAttachmentTransformRules’ on line “PickupMesh->AttachToComponent(PickupRoot, FAttachmentTransformRules::KeepWorldTransform);”