2

我正在尝试将 libfprint (fprint.h) 的标头转换为 Pascal,但我发现一个无法理解的结构,并且某些工具(例如“C2Pas”)只会发送错误。

结构如下:

struct fp_dscv_dev **fp_discover_devs(void);

其中 fp_dscv_dev 仅声明如下:

/* structs that applications are not allowed to peek into */
struct fp_dscv_dev;

帕斯卡的等价物是什么?

提前致谢

4

1 回答 1

1

Opague 指针传统上是 Pascal 中的基本指针(如 c 中的 void *)。

如果您真的想返回结构方面,请将其定义为没有字段的记录:

    Type 
       fp_dscv_dev   = record end;

正如评论中所说,a ** 是双重引用由于在大多数现代帕斯卡引用不能在参数和返回值声明中,我们为它们定义了额外的类型:

       pfp_dscv_dev  = ^fp_dscv_dev
       ppfp_dscv_dev = ^pfp_dscv_dev

最后声明本身是

   function fp_discover_devs:ppfp_dscv_dev; cdecl;  
于 2013-03-13T14:50:06.150 回答