2

プロジェクトからC#、CLR ベースのVC++メソッドを呼び出しています。float 値の配列を out パラメータとして渡しています。

次のエラーが表示されます。


アセンブリ 'mscorlib、 Version=4.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089'から型 'System.Single[]&' を読み込めませんでした。

以前は、C# と VC++ の両方のプロジェクトが 2010 年にあり、正常に動作していました。両方を VS 2012 に移行して以来、この問題に直面しています。

その理由は何ですか?

C# コード:

float[] x = new float[401 * 3];
float[] y = new float[401 * 3];
Wrapper1.Compute(out x, out y);

VC++ CLR コード:

static void Compute([Out] float (*x) __gc[],
 [Out] float (*y) __gc[])
 {

   ArgOutValueArray<float> arg_x(x, 401*3);

 }

コントロールは VC++ で Computer メソッドに入りますが、変数の宣言中に前述の例外が発生します。

ArgOutValueArray<float> arg_x(x, 401*3);

前もって感謝します

4

0 に答える 0