[问题] 内存配置

楼主: howshow (好笑)   2014-10-30 14:46:02
大家好
小弟在帮一个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
请问此部分要怎么改
感谢各位~~~
作者: yeo1987 (Archie)   2014-10-31 22:33:00
对应AllocHGlobal方法中传入参数的型别,做适当转换吧

Links booklink

Contact Us: admin [ a t ] ucptt.com