我需要在C#工程里使用VLFeat工具包,在引用dll时候遇到问题,如下:
函数原型:
float const * vl_dsift_get_descriptors ( VlDsiftFilter const * self ) 请问我应该在C#里如何引用?目前我是这样写的,如下:
[DllImportAttribute("vl.dll", EntryPoint = "vl_dsift_get_descriptors", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.LPArray)]
public static extern float[] vl_dsift_get_descriptors(IntPtr self);但会报错如下:
无法封送处理“return value”: 无效的托管/非托管类型组合。我比较困惑的是float const *应该怎么在C#里表示,以及如何设置封送类型?DllImportAttributefloat const *
函数原型:
float const * vl_dsift_get_descriptors ( VlDsiftFilter const * self ) 请问我应该在C#里如何引用?目前我是这样写的,如下:
[DllImportAttribute("vl.dll", EntryPoint = "vl_dsift_get_descriptors", CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.LPArray)]
public static extern float[] vl_dsift_get_descriptors(IntPtr self);但会报错如下:
无法封送处理“return value”: 无效的托管/非托管类型组合。我比较困惑的是float const *应该怎么在C#里表示,以及如何设置封送类型?DllImportAttributefloat const *
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货