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

How to construct a Platform::Array from a std::vector

本文关键字:一个 Array Platform std vector      更新时间:2023-10-16

我以为它是这样工作的

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

但说"没有构造函数的实例与参数列表匹配"

你应该发送指向 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 之前访问底层数组,当 vector 为空时)。

相关文章: