Как преобразовать двойное "в массив"lt;double'gt;6)

У меня есть функция, которая возвращает массив из 6 удваивается.

double* Validation();

Я хотел бы бросить это значение возврата в управляемый код.

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

Я получаю эту ошибку:

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

Как я должен это сделать?

Спасибо.

Ответ на: "Как преобразовать двойное "в массив"lt;double'gt;6)"

Количество ответов:2

Если вы хотите, чтобы это было в управляемом массиве, вам нужно будет скопировать его в массив. Родной двойной массив не будет приготовим непосредственно к управляемому массиву.

Вы можете использовать Маршалла::Копия, чтобы скопировать это, или просто цикл через ваши 6 значений.

Вы также хотите (вероятно) удалить ваши значения возврата, так как это звучит, как это выделение массива внутренней для проверки () рутины.

Вы можете написать функцию, которая итерирует через каждую переменную в исходном двойном и помещает значения в соответствующий контейнер в cli::array, а затем вернуть новый массив.