Getting an unhandled exception with TArray

I am simply trying to create an array of actors, my .h file is just:

UCLASS()
    class ROBOTS_API ABaseRobot : public ACharacter
    {
    
    public:
    	GENERATED_BODY()
    
    		ABaseRobot(const FObjectInitializer &objInit);
    
    	UPROPERTY(EditDefaultsOnly, Category = "Joints")
    	TArray<class AActor* > joints;
    
    	UPROPERTY(EditDefaultsOnly, Category = "Heart")
    	class UStaticMeshComponent *heart;
    };

and my .cpp is just:

ABaseRobot::ABaseRobot(const FObjectInitializer &objInit)
	: Super(objInit)
{
	heart = objInit.CreateDefaultSubobject<UStaticMeshComponent>(this, TEXT("Mesh Comp"));
	joints.Init(5);
	joints[0] = objInit.CreateDefaultSubobject<AActor>(this, TEXT("Joint 1"));
	joints[1] = objInit.CreateDefaultSubobject<AActor>(this, TEXT("Joint 2"));
	joints[2] = objInit.CreateDefaultSubobject<AActor>(this, TEXT("Joint 3"));
	joints[3] = objInit.CreateDefaultSubobject<AActor>(this, TEXT("Joint 4"));
	joints[4] = objInit.CreateDefaultSubobject<AActor>(this, TEXT("Joint 5"));

	heart->AttachParent = RootComponent;
}

I get an unhandled exception “exited with code 0 (0x0)” every time I compile, I have been looking for similar problems for hours but have not been able to find any. I just can’t figure out what the problem is, any help would be appreciated. Thanks!

I tried your code with 4.6.1, here are results:

[2015.01.17-20.55.08:210][  0]LogUObjectGlobals:Warning: Class which was marked abstract was trying to be loaded.  It will be nulled out on save. Joint 1 Actor
Ensure condition failed: false [File:\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 1597] 
Class which was marked abstract was trying to be loaded.  It will be nulled out on save. Joint 1 Actor

It seems You can’t use AActor class with CreateDefaultSubobject,
Your code is really weird because Actors must be spawned.
Why don’t You simply mark this property as EditAnywhere and pick joints actors from the level?