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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top