0

マネージC++で、C ++実装とある程度マージされたC#ライブラリを書き直そうとしています。

管理されていないクラス内でも使用する必要がある管理された基本クラスがあります。

基本クラスをパラメーターとして受け取る関数を持つアンマネージクラス(#pragma unmanagedで囲まれています)があります。次に、後で参照するためにそれをベクトルに追加します。

なんらかの理由でgcrootキーワードとして認識されていません。#pragmaアンマネージコードにあるためだと思います。

どうすればこれを達成できますか?

ありがとう、

アレックス

4

1 に答える 1

0

あなたは正しいです。#pragma unmanagedのすべては、「通常の」C ++である必要があります(C ++ / clrコードを含めることはできません)。ネイティブクラスでgcrootを使用する場合は、コードを#pragma unmanagedに配置しないでください(マネージコード含まれているため)。

なぜ#pragmaアンマネージドにする必要があるのですか?

于 2012-05-24T20:16:47.687 に答える