题
我有一个返回的6个双打一个阵列的功能。
double* Validation();
我想在托管代码施放此返回值。
array<double>^ validationPosition = gcnew array<double>(6);
validationPosition = Validation();
我得到这个错误:
error C2440: '=' : cannot convert from 'double *' to 'cli::array<Type> ^'
我应该怎么做呢?
感谢。
解决方案
如果你想这是一个管理的阵列,你需要将它复制到阵列。天然双*阵列将无法使用直接作为管理的阵列。
您可以使用马歇尔::复制来复制这一点,或者只是遍历你的6个值。
您也想(可能)删除[]的返回值,因为它听起来像它的内部分配数组您的验证()函数。
其他提示
您可以编写遍历原始双*每个变量,并把这些值到相关的容器在CLI ::数组的函数,然后返回新的数组。
不隶属于 StackOverflow