Just adding some clarity for C++ noobs like me:
If you want a BlueprintImplementableEvent with a TArray as an input parameter, NOT an output parameter, you need a const keyword AND pass by reference:
UFUNCTION(BlueprintImplementableEvent, Category = "MyFunc")
void MyImplementableEvent(const TArray<FMyStruct>& StructArray);