求助熟悉delphi的兄弟, Pascal 和C++的对应写法!

kmfangxun 2006-09-06 03:26:15
如下 pascal 语句

type
PPacket = ^TPacket;
TPacket = packed record
case Integer of
0: (b0, b1, b2, b3: Byte);
1: (i: Integer);
2: (a: array[0..3] of Byte);
3: (c: array[0..3] of Char);
end;

对应成如下c++,请问是否对?另外上面 Pascal 的case Integer of 是否对应C++的构造函数?

struct TPacket
{
Byte b0, b1, b2, b3;
int i;
Byte a[3];
char c[3];
};

...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmfangxun 2006-09-06
  • 打赏
  • 举报
回复

多谢多谢各位!看了半天书,不如在这问一下,呵呵!
BlueDeepOcean 2006-09-06
  • 打赏
  • 举报
回复
汗……
BlueDeepOcean 2006-09-06
  • 打赏
  • 举报
回复
typedef union{
struct{
unsigned char b0;
unsigned char b1;
unsigned char b2;
unsigned char b3;
};
int i;
unsigned char a[4];
char c[4];
}TPacket,*PPacket
僵哥 2006-09-06
  • 打赏
  • 举报
回复
其实上后面的struct可以省去

typedef union{
struct{
unsigned char b0;
unsigned char b1;
unsigned char b2;
unsigned char b3;
};
int i;
unsigned char a[4];
char c[4];
}TPacket,*PPacket;
僵哥 2006-09-06
  • 打赏
  • 举报
回复
type
PPacket = ^TPacket;
TPacket = packed record
case Integer of
0: (b0, b1, b2, b3: Byte);
1: (i: Integer);
2: (a: array[0..3] of Byte);
3: (c: array[0..3] of Char);
end;
===================================
typedef union{
struct{
unsigned char b0;
unsigned char b1;
unsigned char b2;
unsigned char b3;
};
struct{
int i;
};
struct{
unsigned char a[4];
};
struct{
char c[4];
};
}TPacket,*PPacket;

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧