「混合モード」の C++ を使用しており、制御できない ac# dll にある関数を呼び出しています。すべての呼び出しが ac# test exe で機能していますが、配列を返す呼び出しを混合モードの C++ に変換できません。C ++で配列を変更する必要はありません。読み取るだけです。
C# で動作する 2 つのオプションがあります。どちらかを c++ で動作させるだけで十分です。
これは、C# dll から配列を取得するためのベース C# exe 呼び出しです。
CoefficientGroup[] G = Cfg.GetCoefficientGroups();
私のC ++では、^を使用して多くのオプションを試しましたが、役に立ちませんでした-コンパイルされません
CoefficientGroup^[] G = Cfg->GetCoefficientGroups(); etc etc
私もこの方法をc#で試してみましたが、うまくいきました
System.Collections.IEnumerator eG = Cfg.GetCoefficientGroups().GetEnumerator();
while (eG.MoveNext())
{
CoefficientGroup X = eG.Current as CoefficientGroup;
}
しかし、C++では、コンパイルされるC++で「as」キャストを行う方法が見つかりませんでした-以下のように
System::Collections::IEnumerator^ eG = Cfg->GetCoefficientGroups()->GetEnumerator();
while (eG->MoveNext())
{
CoefficientGroup^ X = (CoefficientGroup)eG->Current;
}