マネージ C++ を使用して、統計言語 R を .NET から直接インターフェイスしています。私は Managed C++ に少し慣れていないので、少しトリッキーなことをする必要があります。void*
関数に渡すために使用される構造体には、後のコールバックで使用可能なペイロード データを渡すために使用される汎用データ ポインターがあります。私が説明したことを願っていますが、これは C/C++ でかなりよく使用されるパターンです。しかし、私の使用のために、それを使用して管理対象オブジェクトを渡す必要がありvoid *
ます。どうすればよいですか?
私は試しています:
BinaryWriter^ bs=gcnew......;
stream->data=(void*)(%bs);
しかし、それは機能しません。何か助けはありますか?
更新 これはうまくいくようですが、それが最善の方法であるかどうかはわかりません:
pin_ptr<BinaryWriter^> p = &bs;
stream->data=(void*)p;