プロジェクトから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);
前もって感謝します