如何从std :: vector构造一个Platform :: Array

时间:2016-01-20 13:56:58

标签: c++ arrays c++-cx

我认为它的工作原理如此

std::vector<char> array;
Platform::Array<char>^ data = ref new Platform::Array<char>(array, array.size());

但是说&#34;没有构造函数的实例匹配参数列表&#34;

1 个答案:

答案 0 :(得分:2)

您应该发送指向Platform::Array的构造函数的指针,而std::vector是类,而不是数组。

Platform::Array<char>^ data = ref new Platform::Array<char>(array.data(), 
array.size());

如果启用了C ++ 11,或

Platform::Array<char>^ data = ref new Platform::Array<char>(&array[0], 
array.size());

如果不是(在空向量中访问第一个元素是UB,所以我不知道在向量为空时我们如何在C ++ 11之前访问底层数组。)