我有一个返回的6个双打一个阵列的功能。

double* Validation();

我想在托管代码施放此返回值。

array<double>^ validationPosition = gcnew array<double>(6);
validationPosition = Validation();

我得到这个错误:

error C2440: '=' : cannot convert from 'double *' to 'cli::array<Type> ^'

我应该怎么做呢?

感谢。

有帮助吗?

解决方案

如果你想这是一个管理的阵列,你需要将它复制到阵列。天然双*阵列将无法使用直接作为管理的阵列。

您可以使用马歇尔::复制来复制这一点,或者只是遍历你的6个值。

您也想(可能)删除[]的返回值,因为它听起来像它的内部分配数组您的验证()函数。

其他提示

您可以编写遍历原始双*每个变量,并把这些值到相关的容器在CLI ::数组的函数,然后返回新的数组。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top