0
のは、次のような状況と仮定してみましょう:私ははstdへのポインタを渡したいC++/CLIで管理クラス内の非管理対象に管理されていないポインタを渡す
class A
{
public:
void MyMethod()
{
a->AnotherMethod(b);
}
private:
MyType* a;
MyAnotherType* b;
};
と
typedef std::vector<int>MyAnotherType;
を::ベクトルに割り当てられました( C++/CLIコードでアンマネージC++に変換して埋め込みます)。私は単にa->AnotherMethod(b)
を書く場合、ベクトルは、アンマネージコード(例:/ CLI C++での4つの要素とa
に通過した後の0の要素では空である。
?
間違って何確かに言うためにここに欠けている、あまりにも多くのコードがあります。同じモジュールのアンマネージドC++コードの一部ですそれを呼び出すC++/CLIコード、またはDLL全体にSTLコレクションを渡そうとしていますか境界(非常に悪い考え)? –
@Ben、はい、まさに私はDLL間でSTLコレクションを渡したかったのです。最後に私はあきらめて、pin_ptrの回避策を立てました:) – Jamie