none
c++ 这一段代码怎么翻译为c#的

    问题

  • typedef long (__stdcall *x_Get_MiscData)(int iCardType, char* szFileNameIn, char* szFullFileNameOut, char* szHeadFileNameOut, JL_ITEM* pstOut); struct JL_ITEM { char pzTxt[256]; long left; long top; long right; long bottom; };

    /////////////////////////////////////////

    x_Get_MiscData f_Get_MiscData;

    ////////////////////////////////////////////// JL_ITEM jl_item[256]; f_Get_MiscData(iCardType, szFileNameIn, "", "", jl_item)

     为什么   f_Get_MiscData  最后一个参数可以是  JL_ITEM数组

    2017年3月31日 9:22

全部回复

  • Hi 星空雏菊,

    感谢你在MSDN论坛发帖。

    >>"为什么   f_Get_MiscData  最后一个参数可以是  JL_ITEM数组 "

    你最上面的代码是一个函数指针,用来指向一个函数形参和签名相同的函数。 根据这个函数指针,最后一个参数是char *的指针。 数组的数组名就是一个指针,并且指向这个数组的首元素。

    所以是可以指向这个数组的。

    如果把这段代码写成C#,函数指针,你可以用delegate来实现,指针可以使用ref引用。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年4月3日 4:08
    版主