【发布时间】:2016-01-20 22:06:26
【问题描述】:
我认为它是这样工作的
std::vector<char> array;
Platform::Array<char>^ data = ref new Platform::Array<char>(array, array.size());
但是说“没有构造函数的实例与参数列表匹配”
【问题讨论】:
我认为它是这样工作的
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 之前,当向量为空时,我们如何访问底层数组)。
【讨论】:
Platform::Array c'tor 知道如何处理零大小的输入。