Вы действительно имеете в виду Managed C ++? Не C ++ / CLI?
Предполагая, что вы на самом деле используете C ++ / CLI (из-за опубликованного вами сообщения об ошибке), есть два способа сделать это:
array<String^>^ managedArray = gcnew array<String^>(10);
создаст управляемый массив, то есть того же типа, что и строка [] в C #.
gcroot<String^>[] unmanagedArray;
создаст неуправляемый массив C ++ (на самом деле я никогда не пробовал это с массивами - он хорошо работает с контейнерами stl, поэтому и здесь должен работать)