Pregunta

Tengo una función que devuelve un conjunto de 6 dobles.

double* Validation();

Me gustaría jugar este valor de retorno en código administrado.

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

Me sale este error:

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

¿Cómo debo hacer esto?

Gracias.

¿Fue útil?

Solución

Si desea que esto sea en una matriz administrada, tendrá que copiarlo en la matriz. El * array doble nativo no será utilizable directamente como una matriz administrada.

Puede utilizar Marshall :: Copiar para copiar esto, o bucle sólo a través de sus 6 valores.

También tendrá que (probablemente) delete [] sus valores de retorno, ya que suena como si la asignación de una matriz interna a su rutina de validación ().

Otros consejos

Se puede escribir una función que itera a través de cada variable en el original doble * y pone los valores en el contenedor correspondiente en un cli :: matriz, a continuación, volver la nueva matriz.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top