Comment convertir un double * à un tableau (6)
Question
I ai une fonction qui renvoie un tableau de 6 doubles.
double* Validation();
Je voudrais lancer cette valeur de retour en code managé.
array<double>^ validationPosition = gcnew array<double>(6);
validationPosition = Validation();
Je reçois cette erreur:
error C2440: '=' : cannot convert from 'double *' to 'cli::array<Type> ^'
Comment dois-je faire?
Merci.
La solution
Si vous voulez que ce soit dans un tableau géré, vous devrez le copier dans le tableau. La matrice native double * ne sera pas utilisable directement comme un tableau géré.
Vous pouvez utiliser Marshall :: Copier pour copier ce ou boucle juste par vos 6 valeurs.
Vous voudrez aussi (probablement) supprimer [] vos valeurs de retour, car il semble que cela est l'attribution d'un tableau interne à votre routine de validation ().
Autres conseils
Vous pouvez écrire une fonction qui fait passer dans chaque variable dans la double origine * et met les valeurs dans le conteneur concerné dans un cli :: tableau, puis retourner le nouveau tableau.