0
我有一個指向本地類的指針,並且想暫時將它包裝在一個對象中。我假設System :: Reflection :: Pointer :: Box()函數將是要走的路。不過,我無法格式化第二個參數。拳擊原生C++指針
class A {}
A * a;
Object^o = Box(a, A::typeid);
我得到一個運行時錯誤,說'類型必須是指針',因爲我認爲它應該是。但我無法弄清楚語法。
我有一個指向本地類的指針,並且想暫時將它包裝在一個對象中。我假設System :: Reflection :: Pointer :: Box()函數將是要走的路。不過,我無法格式化第二個參數。拳擊原生C++指針
class A {}
A * a;
Object^o = Box(a, A::typeid);
我得到一個運行時錯誤,說'類型必須是指針',因爲我認爲它應該是。但我無法弄清楚語法。
我無法得到System.Reflection.Pointer.Box
也能工作,但發現有能力做你謙虛地用IntPtr
努力嘗試。
A * a = new A;
Object ^o = gcnew IntPtr(a); // a is boxed in o
IntPtr i = safe_cast<IntPtr>(o); // Unbox the IntPtr
A * aIsBack = static_cast<A*>(i.ToPointer()); // Retrieve a
這是C++/CLI,而不是C++,對不對? – 2011-01-19 01:26:32
是的。 (嗯,評論最少15個字符,誰會給它加分)。 – Nicholas 2011-01-19 01:30:13