1

让我们假设以下情况:

class A
{
public:
  void MyMethod()
  {
    a->AnotherMethod(b);
  }
private:
  MyType* a;
  MyAnotherType* b;
};

typedef std::vector< int >MyAnotherType;

我想将指向在 C++/CLI 代码中分配(并填充)的 std::vector 的指针传递给非托管 C++。如果我只是简单地写a->AnotherMethod(b),那么向量在非托管代码中是空的(例如 C++/CLI 中的 4 个元素和传递给a.

这样做的正确方法是什么?

4

1 回答 1

1

尝试pragma managed 和 unmanaged

确保您传递给 DLL 的类的定义是在非托管部分中定义的。

于 2011-03-09T17:17:02.870 回答