Incompatibilidade usando array gerenciado e std: array ao mesmo tempo

Eu tenho meu código C ++ / CLI usando matrizes como esta (por exemplo):

array<String^>^ GetColNames() { 
    vector<string> vec = impl->getColNames();
    array<String^>^ arr = gcnew array<String^>(vec.size());

    for (int i = 0; i < vec.size(); i++) { 
        arr[i] = strConvert(vec[i]); 
    }
    return arr; 
}

Ele está compilando bem até eu adicionar a biblioteca "array" ao projeto:

#include <array>

Então não sei como usar a matriz da CLI gerenciada, porque o compilador pensa que todas as matrizes declaradas são asstd::array.

Exemplos de erros:

array<String^>^ arr
//           ^ Error here: "too few arguments for class template "std::array""

gcnew array<String^>(vec.size())
//    ^ Error: "Expected a type specifier"

Como resolver isso? Eu tentei removerusing namespace std desse arquivo, mas não faz diferença. Devo remover isso de qualquer outro arquivo C ++ no projeto?

questionAnswers(1)

yourAnswerToTheQuestion