I have my C++/CLI code using arrays like this (for example):
array^ GetColNames() {
vector vec = impl->getColNames();
Clearly you have a using namespace std;
in scope somewhere. Watch out for it being used in .h file if you cannot find it.
You can resolve the ambiguity, the C++/CLI extension keywords like array are in the cli
namespace. This compiles fine:
#include "stdafx.h"
#include <array>
using namespace std; // <=== Uh-oh
using namespace System;
int main(cli::array<System::String ^> ^args)
{
auto arr = gcnew cli::array<String^>(42);
return 0;
}