我在C++/CLI包裹DLL的方法(C++)。我正在使用VC++ 2010的x86 windows-xp機器。__ptr32到pin_ptr給出編譯錯誤在x64配置
我的C++/CLI項目中有x86和x64配置。
我在64只得到一個編譯錯誤。這裏是代碼段
struct A
{
int data;
A *__ptr32 next;
}
pin_ptr<A *>pinned = &obj->next; // A obj
上面的行被編譯僅在86配置。 在64 IM我得到一個編譯錯誤:can't convert A * to pin_ptr <Type>
編譯器選項:/ CLR
爲什麼你在64位平臺上使用32位指針? – szx
很多事情沒有做這個代碼的意義。從固定明顯不是託管對象引用的東西開始。因此,擺脫,首先,然後開始思考你將如何獲取A *更新到__ptr64。 –