[問題] 記憶體配置

看板C_Sharp作者 (好笑)時間9年前 (2014/10/30 14:46), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
大家好 小弟在幫一個POS_DATA_2D_F64 結構進行記憶體配置出了點錯誤 [StructLayout(LayoutKind.Sequential)] public struct POS_DATA_2D_F64 { public UInt32 u32_opt; public Double f64_x; public Double f64_y; public Double f64_theta; } UInt32 cnt = 5; POS_DATA_2D_F64* a; IntPtr ap = Marshal.AllocHGlobal(sizeof(POS_DATA_2D_F64) * cnt); a = (POS_DATA_2D_F64*)ap; === Error 4 Argument '1': cannot convert from 'long' to System.IntPtr cnt 如果不用Uint32就會過 但是cnt 必須是Uint32 請問此部分要怎麼改 感謝各位~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.59.165.169 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1414651565.A.A84.html

10/31 22:33, , 1F
對應AllocHGlobal方法中傳入參數的型別,做適當轉換吧
10/31 22:33, 1F
文章代碼(AID): #1KKTwjg4 (C_Sharp)