作者howshow (好笑)
看板C_Sharp
标题[问题] 记忆体配置
时间Thu Oct 30 14:46:02 2014
大家好
小弟在帮一个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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1414651565.A.A84.html
1F:→ yeo1987: 对应AllocHGlobal方法中传入参数的型别,做适当转换吧 10/31 22:33