0

C# コードで初期化された配列があります。次に、それを C++ dll に渡します。そこでは、配列の各エントリが新しい値で再割り当てされます。次に、配列が新しい値で C# に返されます。不思議なんだけど

  1. C# から C++ に配列を渡す最良の方法は何ですか? (C# でのこの配列のデータ構造)
  2. C++ から配列を返す最良の方法は何ですか? (C++ でのこの配列のデータ構造)

私のコードが機能していません:

C# の場合

private static double[] _statsArray = new double[4];
GetImageStats( ref _statsArray);

C++ dll の場合:

DllExportImageStatistics GetImageStats( double (&pSignalArray)[4])

ご提案ありがとうございます。数行のコードが大いに役立ちます。

4

1 に答える 1

2

私はそれがあるべきだと思います:

private static double[] _statsArray = new double[4];
GetImageStats(_statsArray); // Lose the ref

DllExportImageStatistics GetImageStats(double pSignalArray[4])
于 2013-03-11T13:53:34.410 に答える