TArray's tempalate can being ustruct pointer?

Hello. I try to make mission table using json.
So, I made event sturct below

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

#pragma once
#include "CoreMinimal.h"
#include "EventStruct.generated.h"
/**
 * 
 */
USTRUCT(BlueprintType)
struct FEventBase
{
    GENERATED_BODY()
    
public:
    void ToString(){}
};

USTRUCT(BlueprintType)
struct FEventConversation : public FEventBase
{
    GENERATED_BODY()
    
public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EventParser")
    int conversation;
};

USTRUCT(BlueprintType)
struct FEventReward : public FEventBase
{
    GENERATED_BODY()
    
public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EventParser")
    int Reward;
};

USTRUCT(BlueprintType)
struct FEventRoot
{
    GENERATED_BODY()
    
public:
    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "EventParser")
    TArray<FEventBase*> contentsArray;
};

But when I build it. Compile error show like

Error: Inappropriate ‘*’ on variable
of type ‘FEventBase’, cannot have an
exposed pointer to this type.

What am I miss?

Generally, pointers to USTRUCTS aren’t permitted or a good idea in UE4. Whilst I believe you can use pointers in some cases, it is not allowed for UPROPERTYs (and probably not TArrays regardless of any UPROPERTY decorator, but I’ve never tried).

You could change FEventBase to UCLASS (UEventBase) or you could change your Array to store the value type FEventBase