读书人

结构体定义的有关问题

发布时间: 2013-03-27 11:22:42 作者: rapoo

结构体定义的问题
struct MSG_HEAD
{
WORD dwCmdId;//命令ID
DWORD dwLength;//整个数据包长度=数据包头部+数据包体
};


struct MSG_LOGIN
{
BYTE szUserName;//用户登录ID
BYTE szPassword;//登录密码
};


struct MSG_LOGIN_RESP
{
BYTE dbResult;//登录结果:0=成功,1=用户名或密码错
};


struct MSG_UP
{
DWORD dwLength;//后面内容字段的长度
BYTE szContent[256];//内容,不等长,长度由dwLength指定
};


struct MSG_DOWN
{
BYTE szSender[12];//消息发送者
DWORD dwLength; //后面内容字段的长度
BYTE szContent[256];//内容,不等长,长度由dwLength指定
};


struct MSG_STRUCT
{
MSG_HEAD MsgHead;
union
{
MSG_LOGIN Login;
MSG_LOGIN_RESP LoginResp;
MSG_UP MsgUp;
MSG_DOWN MsgDown;
};
};

全部是自定义的结构体,红色部份出现错误:

error C2061: syntax error : identifier 'MSG_HEAD'
error C2061: syntax error : identifier 'MSG_LOGIN'
error C2061: syntax error : identifier 'LoginResp'
error C2061: syntax error : identifier 'MsgUp'
error C2061: syntax error : identifier 'MsgDown'
求解决 struct
[解决办法]
struct MSG_STRUCT
{
struct MSG_HEAD MsgHead;
union
{
struct MSG_LOGIN Login;
struct MSG_LOGIN_RESP LoginResp;
struct MSG_UP MsgUp;
struct MSG_DOWN MsgDown;
};
};

[解决办法]
看编译类型
按照C文件编译需要使用结构前,需要标识为 struct
如果按照C++文件编译就不需要

读书人网 >C语言

热点推荐