日期:2014-05-20  浏览次数:20881 次

C#平台调用,C++函数是不是不能直接返回结构啊?
还是C#平台调用的问题,我在C++中有定义一个函数
CCOMM::DATA_STRUCT   APS_GetLastdata(){return   g_comm.lastdata;}
C#中实现:
public   extern   static   DATA_STRUCT   APS_GetLastdata();

DATA_STRUCT   结构已经定义好了, 应该没问题, 编译通过, 但运行时会报错   "Method 's   type   signature   is   not   PInvoke   compatible. "
我对C++不熟, 是不是平台调用, C++不能直接返回结构啊?又应当怎样做呢?盼大加赐教!

------解决方案--------------------
应该当作(指针)参数返回。