2009-04-14 6 views
0

J'ai une fonction qui retourne un tableau de 6 doubles.Comment convertir un double * en un tableau <double> (6)

double* Validation(); 

Je souhaite convertir 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.

Répondre

4

Si vous voulez que ce soit dans un tableau géré, vous devrez le copier dans le tableau. Le tableau natif double * ne sera pas utilisable directement en tant que tableau géré.

Vous pouvez utiliser Marshall :: Copy pour copier ceci, ou simplement parcourir vos 6 valeurs.

Vous voudrez également (probablement) supprimer [] vos valeurs de retour, car il semble qu'il alloue un tableau interne à votre routine de validation().

0

Vous pouvez écrire une fonction qui parcourt chaque variable du double * original et place les valeurs dans le conteneur approprié dans un tableau cli ::, puis retourne le nouveau tableau.

Questions connexes