0
假设以下情况:传递非托管的指针非托管对象在托管类C++/CLI
class A
{
public:
void MyMethod()
{
a->AnotherMethod(b);
}
private:
MyType* a;
MyAnotherType* b;
};
和
typedef std::vector<int>MyAnotherType;
我想传递一个指针到std ::矢量分配(并以C++/CLI代码填充到非托管C++中。如果我只是写a->AnotherMethod(b)
那么向量是在非托管代码(例如C++/CLI 4个元素传递给a
后0元素空。
什么是这样做的正确方法?
有太多的代码在这里失踪肯定地说什么是错的。是托管C++同一模块的部分代码C++/CLI代码调用它,或者你是否试图通过DLL传递STL集合边界(一个非常糟糕的主意)? – 2011-03-10 01:29:33
@Ben,是的,我正好想要在DLL之间传递STL集合。最后我放弃了,做了一个pin_ptr解决方法:) – Jamie 2011-03-10 08:51:17