如何从 std::vector 构建 Platform::Array
How to construct a Platform::Array from a std::vector
我以为它是这样工作的
std::vector<char> array;
Platform::Array<char>^ data = ref new Platform::Array<char>(array, array.size());
但说 "no instance of constructor matches the argument list"
您应该将指针发送到 Platform::Array 的构造函数并且 std::vector
是 class,而不是数组。
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 之前访问底层数组)。
我以为它是这样工作的
std::vector<char> array;
Platform::Array<char>^ data = ref new Platform::Array<char>(array, array.size());
但说 "no instance of constructor matches the argument list"
您应该将指针发送到 Platform::Array 的构造函数并且 std::vector
是 class,而不是数组。
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 之前访问底层数组)。