Okay, so yea, I think what your constructor isn’t properly setup and calling to your AActor base classes constructor.
Try this:
In Quadrant.h
UCLASS()
class PROCEDURALTERRAIN_API AQuadrant : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AQuadrant(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
// Called when the game starts or when spawned
virtual void BeginPlay() override;
// Called every frame
virtual void Tick( float DeltaSeconds ) override;
private:
// TOctree<FQuadrantOctreeElement, FQuadrantOctreeSematics> Data;
};
In Quadrant.cpp
// Sets default values
AQuadrant::AQuadrant(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
// 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;
}
You need to call Super because it allows the base class to initialize all its variables properly and do any work it needs before constructing your inherited object.