weixin_43911167 2021-05-13 21:09 采纳率: 100%
浏览 68
已采纳

. c文件改成. cpp文件后结构体会发生变化吗?

.cpp文件可以既写c又写c++吧,为什么我把.c文件转成.cpp文件后,本来结构体里定义的结构体就不是该结构体里的成员了?

.h文件里定义结构体:

struct MsgHeader	//封装消息头
{
	enum MSGTAG msgID;	//当前消息标记    4
	union MyUnion
	{
		struct
		{
			char fileName[100];	//文件名    100
			int fileSize;	//文件大小    4
			int sharding;	//分片数	4
		}fileInfo;
		struct
		{
			int nStart;	//包的编号    4
			int nsize;	//包的数据大小    4
			char buf[PACKET_SIZE];
			int s;	//检验和	4
		}packet;
	};
};

 编译出错:

 

  • 写回答

3条回答 默认 最新

  • benbenli 2021-05-13 22:11
    关注

    给union定义以各名字就可以了 header.fileOrPackage.fileInfo

    struct MsgHeader	//封装消息头
    {
    	enum MSGTAG msgID;	//当前消息标记    4
    	union MyUnion
    	{
    		struct
    		{
    			char fileName[100];	//文件名    100
    			int fileSize;	//文件大小    4
    			int sharding;	//分片数	4
    		}fileInfo;
    		struct
    		{
    			int nStart;	//包的编号    4
    			int nsize;	//包的数据大小    4
    			char buf[PACKET_SIZE];
    			int s;	//检验和	4
    		}packet;
    	} fileOrPacket;
    } header;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目