Hello friends,
I have run into an error message that I had not dealt with before. The error is as follows:
FStructure: an undefined class is not allowed as an argument to compiler instrict type trait '__is_trivially_destructible'
Structure Declaration
USTRUCT(BlueprintType) struct FAppEventAnimation : public FTableRowBase //Declaration. Meant to be used with more complex / full animation systems (that implement slot animations, montages, etc)
{
GENERATED_BODY()
//How this event should be Ran
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
FAbsEventBasic EventBasic = FAbsEventBasic(EInteractEventTriggerType::Tick, EWorldEventRequirementType::Complete_End);
//This structure is meant to be used for Animation Data Sending, such as through Servers (and handles the majority of potential ways in which an animation can be played and generally handled)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Data")
FMakeAnimationProfile AnimationData = FMakeAnimationProfile();
//
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Data")
int AltFallingIndex = -1;
//
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Data")
int AltMovementIndex = -1;
//Whether to use the Anim Slot (Intended for AnimComp's function)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Data")
EWorldEventSlot Slot = EWorldEventSlot::StandardOverride;
//How this event should be Ran
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
bool IsReplicated = true;
//How this event should be Ran
UPROPERTY(BlueprintReadOnly, Category = "Data")
int CurrentIndexUsed = 0;
//How this event should be Ran
UPROPERTY(BlueprintReadOnly, Category = "Data")
int CurrentWeightUsed = 0;
FAppEventAnimation() {}
};
EDIT: I have added the Uproperties.
I’m not sure what’s going on; I had this structure previously declared under a different name (in a different file) and it was working properly. I have added the relevant includes that were present on the other file, so I’m not certain as to what could be triggering the error. In case anyone wants it, here’s the code on IsTriviallyDestructible.h
template <typename T>
struct TImpl<T, false>
{
enum { Value = __has_trivial_destructor(T) };
};