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