質問

私は6倍の配列を返す機能を有する。

double* Validation();

私は、マネージコードでこの戻り値をキャストしたいと思います。

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

私はこのエラーを取得します:

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

これはどのようにしたらよいでしょうか?

感謝します。

役に立ちましたか?

解決

あなたは、これが管理されているアレイになりたい場合は、配列にそれをコピーする必要があります。ネイティブダブル*配列は、直接管理配列として使用できません。

あなたは6つの値によって、この、または単にループをコピーするためにマーシャル::コピーを使用することができます。

また、それはあなたのバリデーション()ルーチンへの内部の配列を割り当てているように聞こえるので、(おそらく)、[]あなたの戻り値を削除したいと思うでしょう。

他のヒント

あなたは、元の二重の*の各変数を反復処理とは、CLI ::配列に関連した容器の中に値を入れる機能を書くことができ、その後、新しい配列を返します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top