Accessing native TArray in blueprints causing access violation

I am seeking to store a list of class type references in a TArray accessible in a c++ method that uses the class references to dynamically spawn actors during the game runtime.

My understanding is that this declaration is the correct way to declare the native TArray to store the class references:

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Any)
		TArray<TSubclassOf<class AMechWeapon>> WeaponClasses;

I created a blueprint derived class from the parent where I intended to fill the array in the blueprint editor for the derived class. When I attempt to add an element to the array in the blueprint editor it causes an access violation.

Any ideas on how to solve the access violations or a better way to implement what I’m trying to achieve?

Final solution:
Implement a BlueprintEvent method in class to return TArray reference in c++. Under the based blueprint class derived from the c++ class, declare a variable of your type as an array. Implement the BlueprintEvent in your blueprint class to return the variable array you declared.
Your C++ class can access the reference to the array returned by the overrriden method in your blueprint. This allows you to add members in c++ or blueprints, access to the array for searches, or other operations allowed on c++ references.
Not the way I would have preferred to implement the array but it is a flexible and straight-forward implementation that works consistently.