C++:
typedef struct dx_uio {
int (* u_read)(); /* User Defined replacement for read() */
int (* u_write)(); /* User Defined replacement for write() */
long (* u_seek)(); /* User Defined replacement for lseek() */
} DX_UIO;Pascal:
DX_UIO = record
u_read = function(): integer;
u_write = function(): integer;
u_seek = function(): longint;
end; 编译不通过,请问各位大侠上面的函数指针(不带参数)怎样转成pascal语言啊?如果代参数,好像就不会错,不太熟悉,请指教!
typedef struct dx_uio {
int (* u_read)(); /* User Defined replacement for read() */
int (* u_write)(); /* User Defined replacement for write() */
long (* u_seek)(); /* User Defined replacement for lseek() */
} DX_UIO;Pascal:
DX_UIO = record
u_read = function(): integer;
u_write = function(): integer;
u_seek = function(): longint;
end; 编译不通过,请问各位大侠上面的函数指针(不带参数)怎样转成pascal语言啊?如果代参数,好像就不会错,不太熟悉,请指教!
typedef struct ct_devinfo
{
unsigned long ct_prodid;
unsigned char ct_devfamily;
unsigned char ct_devmode;
unsigned char ct_nettype;
unsigned char ct_busmode;
unsigned char ct_busencoding;
union {
unsigned char ct_RFU[7];
struct {
unsigned char ct_prottype;
} ct_net_devinfo;
} ct_ext_devinfo;} CT_DEVINFO; 下面这段是我转的,也报错,请帮忙看看: ct_net_devinfo = record
ct_prottype: Byte;
end; CT_DEVINFO = record
ct_prodid: LongWord;
ct_devfamily: Byte;
ct_devmode: Byte;
ct_nettype: Byte;
ct_busmode: Byte;
ct_busencoding: Byte; Case Integer of
0: (ct_RFU: array[0..(7-1)] of Byte); //这句出错
1: (ct_net_devinfo: ct_net_devinfo);
end;
Tu_read = function(): integer;
Tu_write = function(): integer;
Tu_seek = function(): longint; DX_UIO = record
a:Tu_read;
b:Tu_write;
c:Tu_seek;
end;
typedef int(* u_read)();
typedef int(* u_write)();
typedef int(* u_seek)();typedef struct dx_uio {
u_read pu_read; /* User Defined replacement for read() */
u_write pu_write; /* User Defined replacement for write() */
u_seek pu_seek;; /* User Defined replacement for lseek() */
} DX_UIO;
你就知道为什么delphi定义成那样了
u_read: function(): integer;
u_write: function(): integer;
u_seek: function(): longint;
end;
DX_UIO = record
u_read: function(): integer;
u_write: function(): integer;
u_seek: function(): longint;
end; 2.
0: (ct_RFU: array[0..(7-1)] of Byte); //这句出错在我这里没有出错,你说说是什么错误信息。