How to cast C++ variable to another Blueprint class

Either your BlueprintMenuWidget has to have a reference to your CodedActor, or the other way around. If you have this reference in Blueprint (or pointer in C++) you can access all of the (public) members of the object.

So lets say you have a reference to your CodedActor in you BlueprintMenuWidget. You could do this by having the Actor create the widget. This ways the Actor can set the reference insinde of the Widget.

When the widget wants to access members of the CodedActor (your TArray in this case) it can just do so by using the reference that it has to the actor. If you declare the TArray like this in your actor:

UPROPERTY(BlueprintReadWrite)
  TArray<type> ArrayName;

You can just drag a node off of the reference to the actor in blueprint, type ArrayName, and voila you have your array.